問題二:
將鍊錶就地轉置
實現**為下:
其實就是乙個鍊錶的插入過程,反覆插入,改鏈,最終實現倒置;
/*單鏈表就地逆置問題*/
#include
#include
typedef
struct block
block;
block *
creatblock
(int data)
block *
creatlink
(int a)
return head;
}void
lookall
(block *a)
}int
punchlist
(block *p)
return0;
}int
main()
; block *list =
creatlink
(a);
lookall
(list)
;punchlist
(list)
;printf
("%s"
,"變化過後為:");
lookall
(list)
;// printf("傳遞前值%d\n",sizeof(a));// 列印為12
// printf("傳遞前值%d\n",sizeof(int));//列印為4
}
資料結構 鍊錶 二
上篇部落格詳細介紹了鍊錶的基礎功能增刪改查,但是鍊錶的主要難度是在鍊錶的逆序上,下面主要介紹鍊錶逆序。1 鍊錶逆序 一 假設當前有5個結點,head a1 a2 a3 a4 a5,他們的頭指標是head。我們的思路便是將a1作為當前元素一直往後遍歷,並且將a1後面的資料依次挪到head之後。在第一次...
資料結構 二 鍊錶
鍊錶,就是鍊錶嘛,下面是鍊錶的基本操作 include include include include pragma warning disable 4996 typedef struct mylist li li createlist int n 建立含有n個資料的鍊錶,返回頭結點 void in...
資料結構(二)鍊錶
本文目錄 1 什麼是鍊錶 2 鍊錶抽象資料型別 3 單向鍊錶 3.1 插入操作 3.1.1 在煉表頭插入 3.1.2 在鍊錶尾插入 3.1.3 在鍊錶中間任意位置插入 3.2 刪除查詢 3.2.1 在煉表頭刪除 3.2.2 在鍊錶尾刪除 3.2.3 在鍊錶中間任意位置刪除 4 雙向鍊錶 4.1 插入...