鍊錶 2018 11 25

2021-09-01 20:54:21 字數 1892 閱讀 1359

這節課複習資料結構。

鍊錶簡單來說就是首為0,尾為空(null)。

用鍊錶可以進行簡單的快速排序(題目)

切記:用鍊錶做會超時!!!(鍊錶時間複雜度o(n方))

#include

using

namespace std;

const

int maxn=

100000+10

;int n,m,k;

struct nodea[maxn]

;int len;

void

insert

(int s,

int k)

intmain()

int u=a[0]

.next;

while

(a[u]

.next!=0)

printf

("%d\n"

,a[u]

.w);

return0;

}

擴充套件:將排好序的這一串鍊錶中插入乙個數。

思路就是這樣的:發現要插入的位置後,將這個數的前乙個數指向它,再將它指向後乙個數。

**略。

擴充套件再擴充套件:將排好序的這一串鍊錶中刪除乙個數。

**:

#include

using

namespace std;

const

int maxn=

100000+10

;int n,m,k;

struct nodea[maxn]

;int len;

void

insert

(int s,

int k)

intmain()

int u=a[0]

.next;

while

(a[u]

.next!=0)

printf

("%d\n"

,a[u]

.w);

scanf

("%d"

,&k)

; u=0;

while

(a[u]

.next&&a[a[u]

.next]

.w!=k)

u=a[u]

.next;

if(a[u]

.next==0)

else

a[u]

.next=a[a[u]

.next]

.next;

u=a[0]

.next;

while

(a[u]

.next!=0)

printf

("%d"

,a[u]

.w);

return0;

}

用指標實現(未輸出):

#include

using

namespace std;

int n,k;

struct node};

intmain()

node *p=h-

>next;

while

(p!=

null

)scanf

("%d"

,&k)

; p=h;

while

(p->next!=

null

&&p-

>next-

>w!=k)

p=p-

>next;

if(p-

>next==

null

)else

return0;

}

2018 11 25工作室教學記錄

1.2 switch語句 1.3 利用迴圈和陣列製作流水燈 1.4 陣列 1.5 流水燈 1.1.1 數字量與模擬量的區別 1.1.2 精密模擬量的優勢 1.1.3 ide版本號 1.8 5 作用 通過精密線性電位器pwm控制led亮度 void setup void loop 查閱 switch ...

鍊錶 環形鍊錶

環形鍊錶也叫迴圈鍊錶 可以是雙鏈表 也可以是單鏈表 操作原理和單鏈表差不多,只是最後乙個節點不在指向空 null 而是頭 head 這裡以單鏈表舉例 description 環形鍊錶 author lzq date 2018 11 3 20 46 version 1.0 public class a...

鍊錶 初識鍊錶

鍊錶 前言 小弟初學資料結構,有錯誤的地方望大家不吝賜教 認識鍊錶 列表相比陣列更具有優勢,鍊錶不同於資料和其他資料結構依靠位置來進行訪問或者其他操作,如陣列是依靠下表來運算元據。而鍊錶是通過關係來尋找或者運算元據。鍊錶的特性 插入 和 刪除 效率高,只需要變更指向的鏈結點即可。但是隨即訪問操作的效...