輸入格式
第一行輸入是乙個整數 n(1≤n≤100),表示一共要執行 n 次插入操作。
接下來輸入 n 行,每行輸入兩個整數 p 和 q(0≤p,q≤100),其中 p 表示結點插入鍊錶中的位置(從下標為 0 開始),q 表示插入元素的值,兩個整數之間用乙個空格隔開,行末沒有空格。
輸出格式
輸出一共 n+1 行。前 n 行對應每次插入操作,一行乙個結果,如果乙個元素成功插入到了鍊錶中,請輸出success,如果插入失敗則輸出failed。
第 n+1 行輸出最後的鍊錶,每兩個整數之間用乙個空格隔開,行末不需要多餘的空格。
#include #include typedef struct nodenode, *linkedlist;
linkedlist insert(linkedlist head, node *node, int index)
head = node ;
printf("success\n");
return head;
}if (index == 0)
node *current_node = head;
int count = 0;
while (current_node->next != null && count < index - 1)
if (current_node->next == null && count < index - 1)
if (count == index - 1)
return head;
}void output(linkedlist head)
node *current_node = head;
while (current_node != null)
printf("\n");
}void clear(linkedlist head)
}int main()
output(linkedlist);
clear(linkedlist);
return 0;
}
鍊錶插入刪除操作
include using namespace std 定義單向鍊錶節點 struct listnode end of listnode 將新節點插入煉表頭 void insertlist listnode head,int insertdata listnode pnode new listnod...
鍊錶的插入操作
小甲魚鍊錶插入 對鍊錶的插入是指將乙個結點插入到乙個已有的鍊錶中。為了能做到正確插入,必須解決兩個問題 怎樣找到插入的位置 怎樣實現插入。我們可以先用指標變數p0指向待插入的結點,p1指向第乙個結點,將p0 num與p1 num相比較,如果p0 num p1 num,此時將p1後移,並使p2指向剛才...
雙向鍊錶插入 刪除操作
雙向鍊錶 迴圈單鏈表的出現,雖然能夠實現從任一結點出發沿著鏈能找到其前驅結點,但時間耗費是o n 如果希望從表中快速確定某乙個結點的前驅,另乙個解決方法就是在單鏈表的每個結點裡再增加乙個指向其前驅的指標域prior。這樣形成的鍊錶中就有兩條方向不同的鏈,我們可稱之為雙 向 鍊錶 doublelink...