1>首先,需要初始化乙個佇列,即對頭=隊尾=0;
2>將第一行的元素1入隊,接著操作第二行(一二行不需要求和操作,直接將元素入隊即可);
3>從第三行開始,現在的隊頭指向n-1行,先將每行的固定元素1入隊,然後迴圈操作求和過程:
將隊首元素出隊,並儲存它的值temp;
獲取當前隊首的元素x,並進行temp=temp+x,且將temp入隊;
4>迴圈結束後,隊首在n-1行的最後乙個元素處,現將其出隊,然後將每行最後的固定元素1入隊;
5>迴圈3、4步就可以輸出楊輝三角形了。
# include
# define m 100
typedef struct
sq;void init(sq *q)
int enter(sq *q,int
x) else
}int delet(sq *q,int
*x)
else
}int get(sq *q,int
*x)
else
}void main()
delet(&q,&x);
printf("%d",x);
printf("\n");
enter(&q,1);
}while(q.front!=q.rear)
}
迴圈佇列實現楊輝三角
經過前面的介紹,如果自己動手寫過 會發現下面的 是比較容易實現的,這裡我就不做解釋,把精力留到後面二叉樹 圖的實現再細談 include using namespace std define maxqsize 100 typedef int qelemtype typedef struct sqqu...
用佇列實現楊輝三角
如題,首先,可以從楊輝三角可以知道,它的每個數等於它上方兩數之和 每行第乙個數和最後乙個數都是1。那麼怎麼用佇列去實現它呢?首先可以想到,隊首和隊尾分別指向相鄰的兩行。每當隊首出乙個元素,就生成乙個隊尾的元素入隊。那麼問題來了,楊輝三角的特性可以知道 第n行比第n 1行多乙個元素,這就導致入隊和出隊...
佇列練習 楊輝三角
c 實現 佇列 楊輝三角 include include using namespace std define ok 1 define error 1 define overflow 2 typedef int status typedef int qelemtype define maxsize ...