有序迴圈鍊錶的插入 資料由小到大

2021-08-21 04:58:36 字數 859 閱讀 3625

1. 判斷是不是只有乙個頭結點

2. 插入的元素是最小元素

3. 插入的元素在中間或者為最大者**

注:頭結點需分配動態記憶體;插入的元素也要分配動態記憶體

#includeusing namespace std;

typedef struct tnode

tnode;

tnode* insertnum(tnode* head, int num)

/* 第二種情況:插入的元素值為最小值 */

if (head->next->data > num)

tnode* pre = head;

tnode* cur = head->next;

/* 第三種情況: 插入的值在中間或者為最大值( cur=head) */

while ( cur->data < num && cur != head )

//插入

node->next = cur;

pre->next = node;

return head;

}int main()

; int len = sizeof(a) / sizeof(a[0]);

for (int i = 0; i < len; i++)

int i = 0;

for (tnode* cur = head->next; i < len; cur = cur->next,i++)

cout << cur->data

}

迴圈有序鍊錶的插入

給定迴圈公升序列表中的乙個點,寫乙個函式向這個列表中插入乙個新元素,使這個列表仍然是迴圈公升序的。給定的可以是這個列表中任意乙個頂點的指標,並不一定是這個列表中最小元素的指標。如果有多個滿足條件的插入位置,你可以選擇任意乙個位置插入新的值,插入後整個列表仍然保持有序。如果列表為空 給定的節點是 nu...

有序的迴圈鍊錶中插入結點

給定乙個有序的迴圈鍊錶,在其中插入乙個值,保持該迴圈鍊錶依然有序。首先看下迴圈鍊錶的結構,如下圖所示為乙個迴圈鍊錶,其尾結點指向頭結點,從而形成乙個迴圈。給定的鍊錶結點可以是鍊錶任意乙個結點,這個結點不一定是煉表頭結點,從而這也增加了該題的難度。此時若是要在鍊錶中插入4,則插入後的鍊錶如下所示 可以...

有序鍊錶的插入

已知乙個遞增有序鍊錶l 帶頭結點,元素為整數 編寫程式將乙個新整數插入到l中,並保持l的有序 輸入 輸入分三行 第一行 元素個數 第二行 元素的值,元素間用空格分隔。第三行 待插入的元素值 輸出 開頭有空格 code include include include 函式狀態碼定義 define tr...