寫函式將連結串列逆序 比如連結串列是這樣的 1 2 3 4 5通過反轉後成為5 4

2022-05-04 05:51:55 字數 1369 閱讀 9171

1樓:溪貝0號

扣著的是頭節點(頭子)

車是首節點(首子)

馬是次節點(次子)

牙籤細的是指標指向,香頭髮黑的是指向,鐵頭細的是指向。

以下是while迴圈(條件:香頭指向不為空)第一個迴圈把馬弄到車前面,

第二個迴圈把相弄到馬前面

第三個迴圈把士弄到相前面

直到香指向為空後停止迴圈。

**如下:只需要一個首結點phead,就能把連結串列找到,並倒置。具體**如下

p香=phead->pnext;

p鐵=p香->pnext;

p香->pnext=null;

p香=p鐵

while(p香 !=null)

p鐵=p香->pnext;

p香->pnext=phead->pnext;

phead->pnext=p香;

p香=p鐵;

對照偽演算法(三步四迴圈),和上面的**是一一對應的:

第一步:香頭指向首子,鐵頭指向次子

第二步:刪掉首子指向次子(鐵頭所指向的那個子)的牙籤第三步:香頭跟著鐵頭

以下迴圈條件:(條件:香頭指向不為空)

迴圈4:香頭跟著鐵頭

自己用道具操作幾遍,然後把流程背會,以後自己根據流程寫**即可。

一個一維陣列中的元素排列順序為:1,2,3,4,5,程式設計實現其逆序的重新存放。

2樓:岔路程式緣

private sub form_click()dim a(5) as byte

dim i as byte

form1.autoredraw = true'形成原始陣列

print "原始陣列為:"

for i = 1 to 5

a(i) = i

print a(i);

next

print

'逆序排放

for i = 1 to 2

a(0) = a(i)

a(i) = a(6 - i)

a(6 - i) = a(0)

next

'列印逆序陣列

print "逆序排放後:"

for i = 1 to 5

print a(i);

next

end sub

3樓:邁訊科智慧技術

不知道你用什麼語言,給你寫個用c語言的

#include "stdio.h"

void main()

;int bb[5];

int a=0;

int b;

for(;a<5;a++)

for(a=0;a<5;a++)}

怎樣對單向連結串列進行就地逆置,試寫一演算法對單連結串列實現就地逆置線上等

用普通抄演算法迴圈逆襲置 頭插法重新建立帶頭bai結點的新du 連結串列zhi node reverse node head else break return head 單連結串列的就地逆置 頭插法 先將頭結點與連結串列的其他節點斷開,然後利用頭插法的原理將剩內下的結點一次插容 到頭結點的後面 這...

c語言建立連結串列函式呼叫部分,C語言建立連結串列,函式呼叫部分

1 以下示例c語言呼叫函式建立和顯示連結串列 include define null 0 define len sizeof struct student void print struct student creat struct student int n int main struct stu...

C 在函式中建立連結串列,怎麼返回

但是,連結串列的復身體部分都是在函制數中創 建的,一旦函式執行完畢,這些身體不就被銷燬了嗎?每一個結點 都是動態new或malloc出來的,不會被銷燬如果用new在預設堆上建立,會被銷燬嗎?如果不會,那用標示符來指定delete呢?身體有關的標示符都是函式裡申請的區域性變數。結點的地址都被儲存在了連...