以下為鍊錶定義
分析:首先向機器申請記憶體,若申請不成功則推出程式
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次操作。接下...