單鏈表的輸入 輸出 插入和刪除

2021-10-03 10:34:50 字數 1063 閱讀 1659

首先簡單的存入一組連續的資料,以 -1 結束

思路:

單鏈表輸入:申請乙個表頭的空間 a,並且 a->next 初始為null,在表頭不儲存資料資訊,只用來指向鍊錶的頭部!(個人認為方便之處在於,判斷a->next是否為空即可得知接下來有沒有有效資訊)用乙個臨時的指標p,去指向鍊錶的尾部,儲存時,申請空間,造出表尾,用原來表尾的next去連線這個新的表尾。

單鏈表輸出:用迴圈不斷從表頭指向表尾,順便輸出元素。不過要注意,初始化p=head->next;

#includeusing namespace std;

struct node

;void input(node *head)

}void output(node *head)

return ;

}int main()

單鏈表的插入和刪除

插入:在 第x位 後面插入y,找到第x個元素即可

刪除:刪除第x位 ,所以要找到x-1,和x這兩個元素,讓(x-1)>next=(x)->next即可,這裡面我用了do while()迴圈實現

#includeusing namespace std;

struct node

;void input(node *head)

}void output(node *head)

printf("\n");

return ;

}void insert_(node *head,int x,int y)

/*穿針引線 ok*/

p=p->nex;

} return ;

}void delate(node *head,int x)

p=p->nex;

}while(p!=null);

return ;

}int main()

單鏈表的建立, 刪除, 插入, 輸出

include include typedef struct node node,linklist int node num 0 void creat node head 建立鍊錶 void print node head 輸出鍊錶 node query node head,int value 查詢...

單鏈表的插入和刪除

常見的資料結構只有兩種 1 陣列 2 鍊錶 陣列中的元素是連續儲存的,而鍊錶的元素則可以不連續,只需要有指標指向下乙個元素即可。因此鍊錶適合儲存插入刪除比較頻繁的一組資料。另外鍊錶的儲存空間是動態的,不必預先分配指定的空間大小。下面介紹鍊錶的幾種常見操作。首先先定義乙個鍊錶 struct linkl...

單鏈表的插入和刪除

單鏈表的插入與刪除 單鏈表的插入 單鏈表第 i個資料插入結點的演算法思路 1.宣告乙個結點 p指向第乙個結點,初始化j從 1開始 2.當 j時,就遍歷鍊錶,讓 p的指標向後移動,不斷指向下乙個結點,j累加 1 3.若到鍊錶末尾 p為空,則說明第 i個元素不存在 4.否則查詢成功,在系統中生成乙個空結...