倒置陣列和鍊錶 C

2021-07-07 03:52:22 字數 830 閱讀 4490

演算法很簡單,兩個變數,左邊的一直加,右邊的一直減,兩者相同後停止掃瞄.

/*

* 1.cpp

* * created on: 2015-11-11

* author: sunyuan

* reserve array

*///

#includeusing namespace std;

void reverve(int,int);

void output(int,int);

int main();

reverve(array,7);

output(array,7);

return 0;

}void reverve(int array,int length);

//reverse linklist

node* reverselinklist(node* head)

node* next=head->next;

node* new_node=reverselinklist(next);

next->next=head;

head->next=null;

return new_node;

}//output list

void output(node* head)

}int main()

output(first);

output(reverselinklist(first));

return 0;

}

陣列和鍊錶都是資料結構的基本,核心,所以知識點一定要牢固。

鍊錶的倒置

public static void reorder ref node listhead node lefthead listhead node righthead null node current lefthead.next lefthead.next null while current nu...

單鏈表 鍊錶倒置

鍊錶屬於動態資料結構,可以模擬成一 環 接一 環 的鏈條,這裡每一 環 視作乙個結點,結點串在一起形成鍊錶。這種資料結構非常靈活,結點數目無須事先指定,可以臨時生成。每個結點有自己的儲存空間,結點間的儲存空間也無需連線,結點之間的串連由指標來完成,指標的操作又極為靈活方便,無須移動大批資料,只需修改...

單向鍊錶的倒置

首先要判斷當鍊表的長度為0或者1的時候,直接返回當前節點即可,否則需要兩個輔助 指標 pre next,分別指向頭結點的前結點和後結點,不然next屬性改變的時候就會丟失原先列表的結點位址。首先讓pre null,next null 迴圈當head null 的時候,讓next head.next,...