鍊錶例題3 用基準值將鍊錶分割槽

2022-07-31 07:42:13 字數 1171 閱讀 4755

解題思路:

1.建立乙個結點類。

2.建立乙個分割方法。

3.宣告四個結點分別儲存小於基準值,大於或等於基準值(注意這裡是宣告結點,不是例項化結點,所以不算違規)。

1.lhead,ltail用來儲存小於基準值的。

2.rhead,rtail用來儲存大於或等於基準值的。

假如鍊錶如圖:

**如下:

1

public

class

partitionlinknode ;

5 listnode head=new

listnode();

6 listnode p=head;7//

陣列資料用鍊錶的方式串連

8for(int i=0;i)914

15 listnode head2=partition(head,3);

16 listnode p2=head2;

17//

遍歷輸出

18while(p2!=null)19

2324}25

26public

static listnode partition(listnode phead,int

n) else

4145 }else

else

505455}

56 p=p.next;57}

5859

if(lhead==null)60

else

67return

lhead;

6869}70

}71//結點類

72class

listnode

77public listnode(int

data)

7881 }

結果:

使用基準值對鍊錶進行分割槽

1.問題描述 編寫 以給定值x為基準將鍊錶分為兩部分,所有小於x的結點排在大於或等於x的結點之前 給定乙個鍊錶的頭結點 listnode phead,請返回重新後的鍊錶的頭指標 注意 分割以後原來的資料順序不變 不要開闢新的空間,即不要新建節點 2.我們可以定義幾個指標把給出的鍊錶分為兩部分,左邊的...

單向鍊錶例題

include include struct node 定義結點的結構體 typedef struct node node 將struct node簡單定義為node typedef struct node link 將stcuct node型別定義為 link void create link l...

鍊錶例題練習

例題描述 將鍊錶中值小於x的節點放在鍊錶的前面,值大於等於x的節點放在鍊錶的後半部分。class listnode public listnode int val public class linkedlistinterview else send cur send指向cur所指的物件,當send指...