資料結構 七

2021-09-03 02:48:42 字數 1146 閱讀 5114

重寫鍊錶

#include #include #include typedef struct data

data;

typedef struct node

node;

//建立鍊錶並初始化

struct node *createhead( node **head)

//頭插

int insert_tail(node *head,data data)

head->next=newnode;

newnode->next=null;

return 1;

}//列印函式

void print(data *data)

//列印所有資料

void dispaly(node *head)

}//刪除

int delete(node *head,data data)

head=head->next;

} return 1;

}//鍊錶長度

int length(node *head)

return i;

}int main()

;//給資料結構值

struct data data2=;

struct data data3=;

struct data data4=;

int i;

createhead(&head);

insert_tail(head,data1);

insert_tail(head,data2);

insert_tail(head,data3);

insert_tail(head,data4);

i=length(head);

printf("長度是%d\n",i);

dispaly(head);

printf("\n");

delete(head,data1);

dispaly(head);

return 0;

}

總結

之前學了鍊錶同時也用鍊錶寫了一些程式,但是這次重寫鍊錶我覺得我對鍊錶還是不懂,就連第一步鍊錶初始化都不會寫了。我想我對鍊錶的理解還是不夠,我還得努力去學他。

資料結構 七 棧

棧按照後進先出的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料。棧是只能在某一端插入和刪除的特殊線性表。進行刪除和插入的一端稱棧頂,另一端稱棧底。插入一般稱為進棧,刪除則稱為退棧。棧也稱為後進先出表。用陣列模擬stack實現部分方法。陣列實現堆疊 auth...

資料結構 七 之集合結構

幾乎每種程式語言中,都有集合結構.集合比較常見的實現方式時雜湊表 後續會學習 我們這裡來實現乙個封裝的集合類.我們先來簡單認識一下集合的特點.集合的特點 看成一種特殊的陣列 集合的實現 像前面封裝其他資料型別一樣,我們也來封裝一下集合類 set類 建立集合類 操作的方法 我們來乙個個實現這些方法,相...

資料結構與演算法(七)

遞迴的高階應用 1.漢諾塔的問題 所有的盤子剛開始都放在塔座a上,要求將所有的盤子從塔座a移動到塔座c上,每次只能移動乙個盤子,任何盤子不能放在比自己小的盤子上。2.移動子樹 例 起始五個盤子在a,中間為b,需要移到c 可以首先將上邊四個移動到b,則a就剩乙個,只需一步a c 問題變為起始四個盤子在...