#include <iostream>
using namespace std;
int aleng = 10;
struct node
{
int data=0;
int nlength=0;
node *pnext=nullptr;
};
node* creat_link(int length)//创建一个带头节点的链表
{
node *head,*p, *q;
p = new node;//p现在开辟了内存
p->data = -1;//-1表示头节点
p->nlength = -1;
head = p;//头节点有了定义
for (int i = 0; i < length; i++)
{
q=new node;//q现在开辟了内存
q->data = i;
p->pnext = q;//传递的都是地址
p = p->pnext;
}
return head;
}
node* insert_link(node *pnode,int length,int dat)
{
node* head = pnode;
node* q = new node;
if (length<0||length>aleng)
{
return nullptr;
}
for (int i = 0; i < length; i++)
{
pnode = pnode->pnext;
}
q->data = dat;
q->pnext = pnode->pnext;
pnode->pnext = q;
aleng++;
return head;
}
int main()
{
node *node1,*head;
head=node1=creat_link(10);
for (int i = 0; i < aleng; i++)
{
cout << node1->data << "->";
node1 = node1->pnext;
}
cout << endl;
node1=head;//设置节点开始的位置
insert_link(node1, 4, 5);
for (int i = 0; i < aleng; i++)
{
cout << node1->data << "->";
node1 = node1->pnext;
}
system("pause");
return 0;
}
链表的操作
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 引言 在上篇文章数据结构与算法之链表(二)单链表的基本实现中我们学习了单链表的基本概念,本篇我们在此基础之上研究单...