本題要求實現乙個函式,在遞增的整數序列鍊錶(帶頭結點)中插入乙個新整數,並保持該序列的有序性。
list insert
( list l, elementtype x )
;
其中list結構定義如下:
typedef
struct node *ptrtonode;
struct node
;typedef ptrtonode list;
/* 定義單鏈表型別 */
l是給定的帶頭結點的單鏈表,其結點儲存的資料是遞增有序的;函式insert要將x插入l,並保持該序列的有序性,返回插入後的煉表頭指標。
#include
#include
typedef
int elementtype;
typedef
struct node *ptrtonode;
struct node
;typedef ptrtonode list;
list read()
;/* 細節在此不表 */
void
print
( list l )
;/* 細節在此不表 */
list insert
( list l, elementtype x )
;int
main()
/* 你的**將被嵌在這裡 */
512
4563
123
456
解題思路:
向有序鍊錶中插入x,使煉表中資料仍保持遞增有序
–>申請結構體p將x先儲存
–>關鍵是比較x與鍊錶中資料的大小關係
–> 分三種情況
–> 1.鍊錶只有乙個元素,直接將x接在鍊錶末尾
–> 2.鍊錶非空,用迴圈依次比較鍊錶中資料與x的大小關係,找到小於x與大於x的臨界
–> 3.鍊錶非空,但鍊錶中元素都比x小,則將x接入鍊錶末尾
list insert
( list l, elementtype x )
return l;
}else
if(q==
null
)else
}return l;
}
第三 四周練習 1 2鍊錶逆置
本題要求實現乙個函式,將給定單向鍊錶逆置,即表頭置為表尾,表尾置為表頭。鍊錶結點定義如下 struct listnode struct listnode reverse struct listnode head 其中head是使用者傳入的鍊錶的頭指標 函式reverse將鍊錶head逆置,並返回結果...
遞增的整數序列鍊錶的插入
遞增的整數序列鍊錶的插入 本題要求實現乙個函式,在遞增的整數序列鍊錶 帶頭結點 中插入乙個新整數,並保持該序列的有序性。函式介面定義 list insert list l,elementtype x 其中list結構定義如下 typedef struct node ptrtonode struct ...
遞增的整數序列鍊錶的插入
本題要求實現乙個函式,在遞增的整數序列鍊錶 帶頭結點 中插入乙個新整數,並保持該序列的有序性。函式介面定義 list insert list l,elementtype x 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ...