鍊錶作為資料結構中最容易理解的結構,我們需要對它的基本操作非常熟悉
結點結構:
typedef struct node
node,*snode;
基本操作:
初始化:
//初始化
snode init()
建立鍊錶:
//頭插法建立單鏈表
snode create1(int n)
return head;
}
//尾插法建立單鏈表
snode create2(int n)
p1->next=null;
return head;
}
插入結點:
//插入結點到指定位置
snode insert(snode head,int pos,int n)
s=(snode)malloc(sizeof(node));
s->data=n;
s->next=pre->next;
pre->next=s;
return head;
}
刪除結點:
//刪除指定值的所有結點
snode delete1(snode head,int n)
p1=p1->next;
} return head;
}
測試**:
#include#include#includeusing namespace std;
typedef struct node
node,*snode;
//chushihua
snode init()
//建立鍊錶
snode create1(int n)
return head;
}//頭插法
snode create2(int n)
a->next=null;
return head;
}//插入結點到指定位置
snode insert(snode head,int pos,int n)
s=(snode)malloc(sizeof(node));
s->data=n;
s->next=pre->next;
pre->next=s;
return head;
}//刪除指定值的所有結點
snode delete1(snode head,int n)
p1=p1->next;
} return head;
} int main()
p=head->next;
while(p)
printf("\n請輸入要插入的結點的位置和值:");
scanf("%d%d",&c,&d);
head=insert(head,c,d);
p=head->next;
while(p)
printf("\n請輸入要刪除的結點的值:");
scanf("%d",&e);
head=delete1(head,e);
p=head->next;
while(p)
return 0;
}
單鏈表的建立及操作
1 單鏈表的結構體演算法 typedef char elemtype typedef struct node lnode,linklist lnode為結點型別,linklist為指向結點的指標型別 2 建立單鏈表 1 頭插法 從表尾到表頭逆向建立 演算法思路 1 首先建立乙個頭結點h,並使頭結點的...
單鏈表的基本操作(建立,輸出及排序)
今天總結了一下單鏈表的基本操作 建立,求長度,輸出結點,排序 冒泡及歸併 include include using namespace std struct listnode 尾插法,新建乙個鍊錶 listnode creatlist else cycle 0 head head next hea...
單鏈表的基本操作 單鏈表的建立 插入 刪除結點等
1 單鏈表的建立 2 建立結點 3 列印結點 4 鍊錶的插入 頭插法 5 鍊錶的刪除 指定位置刪除 include include include 結構體 結點由資料域 指標域構成 struct node 建立鍊錶 表頭 struct node createlist 建立結點 struct node...