struct listnode;
//尾插data
listnode *insertnode_e(listnode *head,int data)
else
tempnode->next=newnode;
return head;}}
//第i位置後插入data
listnode *insertnode_i(listnode *head,int i,int data)
//不存在p和i<1
if(!p||j>i-1)
else
}
//刪除值為data結點
listnode *deletenode(listnode *head,int data)
else
else
//找到的情況下
if(tempnode->next)
}return head;}}
實驗**:
#include#include#includeusing namespace std;
//建立乙個鍊錶
struct listnode;
//尾插data
listnode *insertnode_e(listnode *head,int data)
else
tempnode->next=newnode;
return head;
}}//第i位置後插入data
listnode *insertnode_i(listnode *head,int i,int data)
//不存在p和i<1
if(!p||j>i-1)
else
}//刪除值為data結點
listnode *deletenode(listnode *head,int data)
else
else
//找到的情況下
if(tempnode->next)
}return head;
}}//輸出鍊錶
void outnode(listnode *head)
cout
listnode *p=reverselist(head->next);
head->next->next=head;
head->next=null;
return p;
}};int main()
cout<
outnode(head);
cout<
head=insertnode_i(head,2,123);
listnode *head2=head;
outnode(head);
cout<
head2=deletenode(head2,123);
outnode(head2);
}
鍊錶基本操作
include include string h include typedef struct stust void xj st h 生成單鏈表 l l null void shc st h 輸出鍊錶 printf d n h d void chr st h 按大小插入元素 else h h l v...
鍊錶基本操作
動態記憶體的相關知識int p null 定義指標變數 p int malloc sizeof int 申請記憶體空間,並且進行強制型別轉換 p 3 使用指標變數 typedef struct list typedef struct listnode listpointer struct listn...
鍊錶基本操作
鍊錶就是c中利用結構體,將資料和下乙個結構體的位址封裝在乙個結構體中形成乙個節點,這些節點組合起來就是乙個基礎的鍊錶,根據需要可以擴充套件其中的內容來實現不同的需求。實現乙個鍊錶需要定義節點,建立,初始化,插入,刪除這些基本操作。include stdafx.h include stdlib.h i...