鍊錶(提高) 資料結構(二)

2021-10-01 20:34:49 字數 907 閱讀 4357

問題二:

將鍊錶就地轉置

實現**為下:

其實就是乙個鍊錶的插入過程,反覆插入,改鏈,最終實現倒置;

/*單鏈表就地逆置問題*/

#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 插入...