資料結構基礎 鍊錶練習

2021-10-03 08:11:11 字數 1248 閱讀 3911

例題6-4 破損的鍵盤

//鍊錶

#include

#include

const int maxn=

100000+5

;int last,cur,

next

[maxn]

;//游標位於cur號字母的後面

char s[maxn]

;int main()}

for(

int i=

next[0

];i!=

0;i=

next

[i])

printf(

"%c"

,s[i]);

printf(

"\n");

}return0;

}

例題6-5 移動盒子

//雙向鍊錶

#include

#include

using namespace std;

const

int maxn=

100000+5

;int n,left[maxn]

,right[maxn]

;//n個盒子

inline

void

link

(int l,

int r)

intmain()

right[0]

=1; left[0]

=n;//初始化

int op,x,y,inv=0;

while

(m--

)else

if(op==2)

else

if(op==3)

else}}

}int b=0;

long

long ans=0;

for(

int i=

1;i<=n;i++)if

(inv && n%2==

0) ans=

(long

long

)n*(n+1)

/2-ans;

//如果鏈條反轉了奇數次且盒子數量是偶數,那麼ans就是需要做這個操作

printf

("case %d:%lld\n"

,++kase,ans);}

return0;

}

參考:

資料結構練習 鍊錶

最近開始學資料結構,準備把做的習題 屯部落格裡。pragma once include include using namespace std 復合類 class list class linknode class list 巢狀類 class list linknode first 用struct...

資料結構 鍊錶基礎練習題

1 反轉鍊錶 定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。definition for singly linked list.function listnode val param head return var reverselist function head ret...

資料結構基礎 鍊錶

1.鍊錶 表明這種資料結構是一種鏈式儲存結構 它不同於線性表的順序儲存結構。鍊錶的相鄰元素 在物理記憶體中不連續 所以這種結構可以充分利用一些系統的記憶體碎片來完成一些事務,即如果採用鍊錶結構有時可以解決當連續記憶體分配不足時的問題。鍊錶支援插入和刪除這兩種操作,並且 刪除 插入鍊錶頭部 尾部結點的...