基本資料結構 C

2022-02-06 09:05:40 字數 1741 閱讀 8537

棧:

#include "

stdio.h

"#include

"stdlib.h

"#define max_size 100typedef

struct

stack

stack;

int initstack(stack *stack)

int isempty(stack *stack)

int isfull(stack *stack)

int push(stack *stack,int

e)

return -1;}

int pop(stack *stack)

return -1;}

void

main()

}printf(

"棧中元素出棧(先進後出):\n");

while(!isempty(stack))

printf(

"%d\t

",pop(stack));

}

佇列:

#include "

stdio.h

"#include

"stdlib.h

"#define max_size 10//

雖然容量是10,但注意該迴圈佇列只能儲存9個整數

typedef

struct

queue

sqqueue;

//初始化迴圈佇列

int initqueue(sqqueue *sqqueue)

//入隊

int enqueue(sqqueue *sqqueue,int

e)//

獲取對頭元素

int frontqueue(sqqueue *sqqueue)

//出隊

int dequeue(sqqueue *sqqueue)

//判斷佇列是否為空。注意空和滿的條件

int empty(sqqueue *sqqueue)

void

main()

}printf(

"列印佇列元素\n");

while(!empty(sqqueue))

printf(

"%d\n

",dequeue(sqqueue));

}

敗者樹:

#include "

stdio.h

"#define k 8

#define minkey -1//

比所有關鍵字都小的乙個值

#define maxkey 1000//

比所有關鍵字都大的乙個值

intb[k];

void adjust(int ls[k],int s)//

敗者樹儲存在ls[1]~ls[k-1]中,s為記錄所在的歸併段號

t=t/2;//

向樹根回退一層

} ls[

0]=s;//

ls[0]記錄本趟最小關鍵字所在的短號

}int get_next(int

i)void k_merger(int

ls[k])

/*ls[0]~ls[k-1]是敗者樹的內部節點。b[0]~b[k-1]分別儲存k個初始歸併段的當前記錄

*//*

函式get_next(i)從第i個歸併段讀取並返回當前記錄,若歸併段為空,則返回maxkey

*/}

C 基本資料結構

目錄 c 基本資料結構 1.向量 2.佇列 3.棧以後會補充 include 順序儲存 empty size push back 尾部新增 pop back 尾部刪除 insert erase clear 首元素迭代器 begin 尾元素後乙個位置 end 訪問 1.0到size 1 2.定義迭代器...

opencv基本資料結構

iplimage 首先介紹重要的成員變數 width和height表示了的尺寸。其次是depth和nchannels,depth是指畫素顏色的取值範圍,nchnannels為影象的通道,可以取1,2,3,4 origin變數定義了影象的原點,有兩個取值,分別是ipl origin bl和ipl or...

Python 基本資料結構

列表是python裡的內建的型別之一,可以新增和刪除其中的元素。如 role sam 33 dean 37 可以列表中包含列表,同一列表中包含不同型別的資料。下面介紹列表的一些通用操作,關於list的其他用法,可以通過help list 檢視。a 2,13,12,41,17,23 a 1 列表從0開...