使用佇列列印等腰的楊輝三角
標頭檔案
#ifndef _queue_h
#define _queue_h
#include#include#define size 30
#define success 10000
#define failure 10001
#define ture 10002
#define false 10003
struct queue
;typedef struct queue que;
int initqueue(que *p); // 初始化
int emptyqueue(que p); // 判斷佇列是否為空
int enterqueue(que *p,int e); // 進入佇列
int getfrontqueue(que p); // 得到隊頭元素
int lengthqueue(que p); // 求佇列長度
int deletequeue(que *p); // 刪除佇列
#endif
子函式檔案
#include"queue.h"
int initqueue(que *p)
p->rear = p->front = 0;
return success;
}int emptyqueue(que p)
int enterqueue(que *p,int e)
if((p->rear+1)%size == p->front)
p->data[p->rear] = e;
p->rear = (p->rear + 1) % size;
return success;
}int getfrontqueue(que p)
return p.data[p.front];
}int lengthqueue(que p)
int deletequeue(que *p)
if(p->front == p->rear)
int e = p->data[p->front];
p->front = (p->front+ 1 ) % size;
return e;
}
主函式檔案
#include "queue.h"
int main()
// 先給 p 佇列三個元素,楊輝三角首行(輸出時選擇大於0的元素)
enterqueue(&p,0); //佇列的頭元素為0
enterqueue(&p,1);
enterqueue(&p,0); //佇列的最後乙個元素為0
len = lengthqueue(p); //求對列p的長度 < size-1
while( i <= n && len < size )
t = deletequeue(&p); // 刪除佇列,就是把每乙個佇列中的元素進行出隊
enterqueue(&q,e+t);
}printf("\n");
enterqueue(&q,0);
i++;
len++;
} else if( i%2 != 1 && emptyqueue(p) == ture)
t = deletequeue(&q);
enterqueue(&p,e+t);
}printf("\n");
enterqueue(&p,0);
i++;
len++;
} }return 0;
}
楊輝三角的等腰輸出
楊輝三角 利用遞迴關係在乙個函式中實現 c語言初學者,在運算子的前後沒有空格,請見諒 include stdio.h define n 5 int main i,j 給a n n 賦初值0,為 三角形的末位1做鋪墊 for i 0 ia i 0 1 給第一列賦值 for i 1 ifor j 1 j...
佇列實現楊輝三角
1 首先,需要初始化乙個佇列,即對頭 隊尾 0 2 將第一行的元素1入隊,接著操作第二行 一二行不需要求和操作,直接將元素入隊即可 3 從第三行開始,現在的隊頭指向n 1行,先將每行的固定元素1入隊,然後迴圈操作求和過程 將隊首元素出隊,並儲存它的值temp 獲取當前隊首的元素x,並進行temp t...
迴圈佇列實現楊輝三角
經過前面的介紹,如果自己動手寫過 會發現下面的 是比較容易實現的,這裡我就不做解釋,把精力留到後面二叉樹 圖的實現再細談 include using namespace std define maxqsize 100 typedef int qelemtype typedef struct sqqu...