2 4 遞增鍊錶的插入

2021-10-19 07:27:09 字數 1035 閱讀 3703

1.如果題目沒有給我們建好原遞增序列的鍊錶,那麼我們可以考慮在建立原煉表時插入需要插入的結點,就是在建立原煉表時,每讀入乙個資料,將該資料與待插入的資料相比較,如果發現待插入資料小於等於剛讀入的資料,那麼就先把需要插入的資料生成的結點鏈結到表尾,再把剛讀入的資料結點鏈結到表尾,然後繼續鍊錶的建立,但是為了防止需要插入資料的反覆插入,我們需要設定乙個標誌flag = 0; 插入完成後就將這個flag置為1,這樣就不會反覆插入了。

下面是這個想法的實現**:

1 #include 2 #include 3 

4 typedef int elementtype;

5 typedef struct node* list;

6 struct node;

10 11 int main()

12 29

30 while (n--) //如果原煉表不為空,在建表時插入

31

43 tmp = (list)malloc(sizeof(struct node));

44 tmp ->data = dt;

45 tmp -> next = null;

46 rear -> next = tmp;

47 rear = tmp;

48 }

49 tmp = front -> next;

50 for (;tmp->next; tmp = tmp->next)

51 printf("%d ", tmp->data);

52 printf("%d\n", tmp->data);

53

54 55 return 0;

56 }

2.下面是這題的常規解法:

1 list insert(list l, elementtype x)

2

2 4 遞增鍊錶的插入

1.如果題目沒有給我們建好原遞增序列的鍊錶,那麼我們可以考慮在建立原煉表時插入需要插入的結點,就是在建立原煉表時,每讀入乙個資料,將該資料與待插入的資料相比較,如果發現待插入資料小於等於剛讀入的資料,那麼就先把需要插入的資料生成的結點鏈結到表尾,再把剛讀入的資料結點鏈結到表尾,然後繼續鍊錶的建立,但...

習題2 4 遞增的整數序列鍊錶的插入 15 分

本題要求實現乙個函式,在遞增的整數序列鍊錶 帶頭結點 中插入乙個新整數,並保持該序列的有序性。list insert list l,elementtype x 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtono...

習題2 4 遞增的整數序列鍊錶的插入 15 分

本題要求實現乙個函式,在遞增的整數序列鍊錶 帶頭結點 中插入乙個新整數,並保持該序列的有序性。list insert list l,elementtype x 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtono...