本題要求實現帶頭結點的單鏈表插入操作,插入成功返回1,否則返回0。
函式介面定義:
int insert_link ( linklist l,
int i,elemtype e)
;
l是單鏈表的頭指標,i為插入位置,e是插入的資料元素,插入成功返回1,否則返回0。
裁判測試程式樣例:
#include
#include
typedef
int elemtype;
typedef
struct lnode
lnode,
*linklist;
linklist create()
;/* 細節在此不表 */
void
print
( linklist l)
;int insert_link ( linklist l,
int i,elemtype e)
;int
main()
else
return0;
}void
print
(linklist l)
}/* 請在這裡填寫答案 */
輸入格式:
輸入資料為三行,第一行是若干正整數,最後以-1表示結尾(-1不算在序列內,不要處理)。所有資料之間用空格分隔。第二行資料是插入位置,第三行資料是被插入元素值。
輸入樣例:
123
456-
12100
輸出樣例:1
100234
56
答案:int insert_link ( linklist l,
int i,elemtype e)if(
!p||j>i-1)
return
0;
s=(linklist)
malloc
(sizeof
(lnode)
);
s->data=e;
s->next=p->next;
p->next=s;
return1;
}
本題要求實現刪除單鏈表的第i個元素結點,刪除成功返回1,否則返回0。
函式介面定義:
int delete_link ( linklist l,
int i)
;
l為單鏈表的頭指標,i為刪除結點的序號
裁判測試程式樣例:
#include
#include
typedef
int elemtype;
typedef
struct lnode
lnode,
*linklist;
linklist create()
;/* 細節在此不表 */
void
print
( linklist l)
;int delete_link ( linklist l,
int i)
;int
main()
else
return0;
}void
print
(linklist l)
}/* 請在這裡填寫答案 */
輸入格式:
輸入資料為兩行,第一行是若干正整數,最後以-1表示結尾(-1不算在序列內,不要處理)。所有資料之間用空格分隔。第二行資料是刪除位置。
輸入樣例:
123
456-
13
輸出樣例:124
56
答案:int delete_link ( linklist l,
int i)if(
!(p->next)
||j>i-1)
q=p->next;
p->next=q->next;
e=q->data;
free
(q);
return1;
}
鍊錶插入 線性表
題目描述 線性表 已知一單鏈表,從第二個結點至表尾遞增有序,設a1輸入 輸入長度n 7 輸入資料 4 1 2 3 6 8 9 輸出1 2 3 4 6 8 9 樣例輸入 511 7 8 9 10 樣例輸出 7 8 9 10 11 分析 此題,考察鍊錶的插入。基本思想只要是判斷,在插入。include ...
線性表與鍊錶
線性表線性表是最基本 最簡單 也是最常用的一種資料結構。優點 記憶體占用少,查詢快,增刪慢。增刪慢的原因是,在中間新增乙個元素,其他所有的元素需要向後挪。耗能高所以慢。陣列,佇列和棧。佇列 queue 一種特殊的線性表,先進先出 fifo 只能刪除表的前端,只能新增到表的尾端。棧 stack 一種運...
線性表 刪除鍊錶的節點
給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1 9.示例 2 輸入...