單鏈表的reverse

2022-07-13 23:00:45 字數 1272 閱讀 2298

單鏈表的反序:將已有鍊錶的節點的值反序

廢話不多說直接上**;下面**提供了兩個版本,sll_reverse是我自己做的時候想的笨辦法,answer_reverse是我在網上看的乙個版本(非常精簡)。

1 #include2 #include 3

#define n 5

4 typedef struct

nodenode;

8 node* sll_reverse(node *first);

9int sll_insert( register node **linkp, int

new_value );

10void print(node*rootp);

11 unsigned int count(node*linkp);

12struct node *answer_reverse( struct node *current );

13int main (void

) 14

29 unsigned int count(node*linkp)

3038

while

(tmp)

3943

return

num;44}

45 node* sll_reverse(node *first)

4662 newnode->link=null;

63 newnode->value=p[n-1];//

建立鍊錶的第乙個節點,並把動態陣列的最後乙個值賦值

64for(i=n-2;i>=0;i--)//

從動態陣列打的倒數第二個資料開始,一次不排序的插入到新鍊錶中

65 insert(&newnode,p[i]);

66return

newnode;67}

68struct node *answer_reverse( struct node *current )//

答案的版本

6977

while(current!=null)

7884

return

previous;85}

86int insert(node **linkp,int

value)

87100

int101 sll_insert( register node **linkp, int

new_value )

102122

void print(node*rootp)

123132 }

秒懂單鏈表及其反轉 reverse

什麼是鍊錶,這種資料結構是由一組node組成的,這群node一起表示了乙個序列。鍊錶是最普通,最簡單的資料結構 實體地址不連續 它是實現其他資料結構如stack,queue等的基礎。鍊錶比起陣列來,更易於插入,刪除。node可以定義如下 typedef int element type typede...

單鏈表(合併單鏈表)

單鏈表遍歷 單鏈表遍歷是從單鏈表頭指標head開始訪問,沿著next指標所指示的方向依次訪問每乙個結點,且每個結點只能訪問依次,直到最後乙個結點為止。遍歷時注意,不要改變head指標的指向。因此一般設定另外的乙個指標變數如p,p從head開始依次訪問乙個結點,直到鍊錶結束,此時p null,完成依次...

單鏈表之排序單鏈表

package list public class sortedsinglylist extends singlylist 將values陣列中的所有物件按值大小插入 public sortedsinglylist t values 過載深拷貝,由單鏈表構建排序單鏈表 public sortedsi...