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...