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