妙趣橫生的演算法 棧和佇列

2021-09-06 14:59:07 字數 1433 閱讀 5250

棧的特點是先進後出,一張圖簡單介紹一下。

#include "

stdio.h

"#include

"math.h

"#include

"stdlib.h

"#define stack_init_size 20

#define stackincrement 10typedef

char

elemtype;

typedef

struct

sqstack;

void initstack(sqstack *s)

void push(sqstack *s, elemtype e)

*(s->top) = e; /*

放入資料

*/s->top++;

}void pop(sqstack *s , elemtype *e)

intstacklen(sqstack s)

void

main()

len = stacklen(s); /*

得到棧中的元素個數,即二進位制數的長度

*/for(i=0;i)

printf(

"decimal is %d\n

",sum);

}

佇列佇列的特點是先進先出,就跟我們平常排隊乙個意思。

#include "

stdio.h

"#include

"stdlib.h

"typedef

char

elemtype;

typedef

struct

qnode qnode , *queueptr;

typedef

struct

linkqueue;

void initqueue(linkqueue *q)

void enqueue(linkqueue *q, elemtype e)

void dequeue(linkqueue *q, elemtype *e)

/*測試函式

*/void

main()

printf(

"the string into the queue is\n");

while(q.front != q.rear)

printf("\n

");}

妙趣橫生的演算法學習2

第一章 基礎資料結構 1.1順序表 定義與特性 1.順序表的記憶體空間是一連串連續的位址空間 2.需要乙個唯一的表名來表示 3.資料在順序表中按先後順序排列 順序表的宣告 const int defaultsize 10 template class seqlist 建構函式 seqlist pri...

妙趣橫生的演算法(1)之順序表操作

建立乙個靜態的順序表存放整數,大小為10,完成以下操作。1 輸入6個整數,列印出順序表中的內容,並顯示表中剩餘的空間個數 2 在順序表中的第3個位置插入元素0,列印出順序表中的內容,並顯示表中剩餘的 空間個數。3 再試圖插入表中第11個位置整數0,程式提示超出範圍。4 刪除表中第6個元素,列印出順序...

多執行緒有什麼用 妙趣橫生的比喻

這麼解釋問題吧 1。單程序單執行緒 乙個人在乙個桌子上吃菜。2。單程序多執行緒 多個人在同乙個桌子上一起吃菜。3。多程序單執行緒 多個人每個人在自己的桌子上吃菜。多執行緒的問題是多個人同時吃一道菜的時候容易發生爭搶,例如兩個人同時夾乙個菜,乙個人剛伸出筷子,結果伸到的時候已經被夾走菜了。此時就必須等...