向有序的環形單鏈表中插入新節點

2021-10-08 22:43:06 字數 1020 閱讀 9395

向有序的環形單鏈表中插入新節點

乙個環形單鏈表從頭節點 head 開始不降序,同時由最後的節點指回頭節點。給定這樣乙個環形單鏈表的頭節點 head 和 乙個整數 num, 請生成節點值為 num 的新節點,並插入到這個環形鍊錶中,保證調整後的鍊錶依然有序。

輸入描述:

環形單鏈表的頭節點 head 和 乙個整數 num。

輸出描述:

在給定的函式內返回新的環形單鏈表的頭指標。

示例1輸入

5

1 2 3 4 5

6

輸出
1 2 3 4 5 6
備註:

保證鍊錶的長度不大於1000000

題解:正常插入即可,不過需要考慮一些特殊情況:

**:

# include

using

namespace std;

struct list_node

;list_node *

input_list

(void

)else}}

return phead;

}list_node *

insert_num

(list_node * head,

int num)

list_node *pre = head,

*p = head-

>next;

while

(p != head)

pre = p;

p = p-

>next;

} pre-

>next = tmp;

tmp-

>next = p;

return num < head-

>val ? tmp : head;

}void

print_list

(list_node * head)

puts(""

);}int main (

)

向有序環形單鏈表中插入新節點

乙個有序的環形單鏈表,從頭節點開始公升序,同時由最後乙個結點指回頭節點,給定乙個環形鍊錶的頭節點和乙個數值num,建立乙個數值為num的新節點,將該節點插入到環形單鏈表中,要求鍊錶始終有序 這道題就是簡單的遍歷環形單鏈表,然後插入新節點,只需要考慮一些特殊情況即可 鍊錶為空 新節點成環返回 鍊錶正常...

鍊錶 向有序環形單鏈表中插入新節點

問題描述 向有序環形單鏈表中插入乙個新節點,得到新的環形單鏈表有序,並將頭結點指向最小值 預設當前頭結點指向最小值,環形鍊錶不降序排列 演算法實現 class node public node insertnum node head,int num node pre head node cur he...

向單鏈表中插入 刪除節點

include include typedef struct linknode node,linklist linklist表示結構體指標 linklist createlist end int n 尾插法建立鍊錶 void showlist linklist l 輸出鍊錶內容 void addno...