#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;
}
链表的操作
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 引言 在上篇文章数据结构与算法之链表(二)单链表的基本实现中我们学习了单链表的基本概念,本篇我们在此基础之上研究单...