文档介绍:1 / 5
#include <>
#include <stdlib.h>
#include <conio.h>
// EXIT_SUCCESS =0
// EXIT_FAILURE =1 ;
/
//进队
Status
En_Quenue ( Quen * Q , int e )
{
ﻩif ( ( Q ->rear + 1 ) % Max_Size == Q ->fornt )
ﻩ{
ﻩﻩprintf ("队列已满,不能进队.\n" ) ;
ﻩﻩreturn EXIT_FAILURE ;
ﻩ}
ﻩQ ->data[Q->rear] = e ;
ﻩQ ->rear = ( Q ->rear + 1 ) % Max_Size ;
ﻩreturn EXIT_SUCCESS ;
}
3 / 5
//出队
Status
De_Quenue ( Quen * Q )
{
ﻩif ( Q ->fornt == Q ->rear )
ﻩ{
ﻩﻩprintf ("队列为空,不能出队.\n") ;
ﻩﻩreturn EXIT_FAILURE ;
ﻩ}
ﻩQ ->fornt = ( Q ->fornt + 1 ) % Max_Size ;
ﻩreturn EXIT_SUCCESS ;
}
//判队空
Status
Em_Quenue ( Quen Q )
{
ﻩreturn == Q .rear ? EXIT_SUCCESS : EXIT_FAILURE ;
}
//取队头元素
Status
Ge_Quenue ( Quen Q )
{
ﻩif ( Q .fornt != Q.rear )
ﻩ{
ﻩﻩprintf ("%6d" , [] ) ;
ﻩ}
ﻩ// 若队不空,则返回队头元素
ﻩreturn == ? 0 : Q.data[] ;
}
//打印杨辉三角, line 为要打印杨辉三角的行数
Status
Yang_Hui ( Quen * Q , int line )
{
ﻩ//用flag1,falg2分别做标记
ﻩint flag1 , flag2 ;
ﻩ//用count1计录打印的行数,count2记录每行要出队的次数,如第2行,则要进行2次出队
ﻩint count1 ,count2;
4 / 5
ﻩ//用a记录队头元素,用former记录上一次的a值
ﻩint a , former ;
ﻩint i ;
ﻩflag1 = 0;
ﻩflag2 = -1 ;
ﻩfor ( count1 = 1 ; count1 <=line ; count1 ++ )
ﻩ{
ﻩﻩfor ( i = 0 ; i < line - count1 ; i ++ )
ﻩﻩ{
ﻩﻩﻩprintf (" ") ;
ﻩﻩ}
ﻩﻩfor ( count2 = 0 ; count2 < count1 ; count2 ++ )
ﻩﻩ{
ﻩﻩﻩflag1 ++ ;
ﻩﻩﻩa =