單鏈表的建立及基本操作

2021-08-15 16:04:21 字數 1744 閱讀 1123

鍊錶作為資料結構中最容易理解的結構,我們需要對它的基本操作非常熟悉

結點結構:

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...