鍊錶 當前結點之後插入新節點結點

2021-10-04 10:11:16 字數 845 閱讀 8991

以下為鍊錶定義

分析:首先向機器申請記憶體,若申請不成功則推出程式

linknode *newnode=

(linknode*

)malloc

(sizeof

(linknode)

);

當前節點在鍊錶中的位置有三種:

若表空,當前結點為首結點,尾結點,pre依然為null,position不變,curr指向新結點

若當前結點在表中,pre指標加1,position加1,curr指向新結點

若curr指向表尾,pre指標加1,position加1,curr指向新結點,並且rear指向新結點

**如下:

bool ll_insafter

(linklist* llist, t x)

// 若插入失敗,返回false,否則返回true。

else

if(llist->curr==llist->rear)

else

llist->curr=newnode;

/*設定當前結點為新結點*/

llist->len++

;/*鍊錶的長度增加*/

return true;

}

我編寫時出現的問題:

沒有考慮當前結點在表中或表尾時,position需要加1

沒有考慮當前結點在表中或表尾時,pre指向改變前的當前結點

師 鍊錶的結點插入

time limit 1000ms memory limit 65536kb problem description 給出乙個只有頭指標的鍊錶和 n 次操作,每次操作為在鍊錶的第 m 個元素後面插入乙個新元素x。若m 大於鍊錶的元素總數則將x放在鍊錶的最後。input 多組輸入。每組資料首先輸入乙個...

師 鍊錶的結點插入

think 每次進行插入相對應位置的元素,然後遍歷輸出。過程 第一次 1 第二次 1 2 第三次 3 1 2 第四次 3 1 2 4 problem description 給出乙個只有頭指標的鍊錶和 n 次操作,每次操作為在鍊錶的第 m 個元素後面插入乙個新元素x。若m 大於鍊錶的元素總數則將x放...

師 鍊錶的結點插入

submit statistic problem description 給出乙個只有頭指標的鍊錶和 n 次操作,每次操作為在鍊錶的第 m 個元素後面插入乙個新元素x。若m 大於鍊錶的元素總數則將x放在鍊錶的最後。input 多組輸入。每組資料首先輸入乙個整數n n 1,100 代表有n次操作。接下...