資料結構實驗一,第29題 雙向迴圈鍊錶中結點的交換

2021-09-29 01:34:30 字數 1317 閱讀 9210

要到截止日期了,衝衝衝!

描述

利用雙向迴圈鍊錶表示乙個整數序列,指定乙個結點位置用p指向該結點,交換p所指向的結點及其前驅結點的順序。

輸入

多組資料,每組資料有三行,第一行為鍊錶的長度n,第二行為鍊錶的n個元素(元素之間用空格分隔),第三行為p所指向的結點位置。當n=0時輸入結束。

輸出

對於每組資料分別輸出一行,依次輸出交換結點順序後的鍊錶元素,元素之間用空格分隔。

輸入樣例 15

44 11 22 33 5536

22 33 11 66 44 5560

輸出樣例 1

44 22 11 33 55

22 33 11 66 55 44

這個題在交換結點的**部分大家可以自由發揮,我也是在紙上畫來畫去寫出來的,不一定是最簡單的。

**

#include

using

namespace std;

typedef

struct link link,

*linklist;

void

create

(linklist& l,

int n)

}void

exchange

(linklist& l,

int m)

//這個結點交換部分大家可自由發揮。我覺得我寫的太複雜了。

p->next-

>prior = p-

>prior;

p->prior = p-

>prior-

>prior;

p->next-

>prior-

>prior = p;

p->prior-

>next = p;

p->next-

>prior-

>next = p-

>next;

p->next = p-

>next-

>prior;

}void

output

(linklist l,

int n)

else

cout <<

" "<< p-

>data;

p = p-

>next;

} cout << endl;

}int

main()

return0;

}

資料結構和演算法經典100題 第29題

題目要求 二叉樹節點間的最大距離問題從二叉樹的節點a出發,可以向上走或者向下走,但沿途的節點只能經過一次,當達到節點b時,路徑上的節點數叫作a到b的距離。比如 1 2 3 4 5 6 7節點4和節點2的距離為2,節點5和節點6的距離為5。現在給定一棵二叉樹的頭結點,求整棵二叉樹上節點間的最大距離。題...

資料結構實驗一,第37題 陣列的分割

描述 已知由n n 2 個正整數構成的集合a 0 k輸入 多組資料,每組資料兩行。第一行為乙個整數n,代表陣列中有n個元素。第二行為陣列中的n個元素 元素之間用空格分隔 當n等於0時,輸入結束。輸出 每組資料輸出兩行。第一行為子集a1,第二行為子集a2,每兩個元素用空格分隔。輸入樣例 14 1 2 ...

資料結構第1章上機實驗題

以下3題均採用多組輸入 1.1 輸出所有小於等於n n為乙個大於2的正整數 的素數,每行輸出10個,盡可能採用較優的演算法 源 include include using namespace std int main if j k 1 cout 程式截圖 1.3 判斷乙個字串是否是 回文 源 inc...