汇编语言 实现单链表的插入与删除

是汇编语言的课程设计只要代码就可以了谢谢... 是汇编语言的课程设计 只要代码就可以了 谢谢 展开
 我来答
黑马程序员
2017-12-13 · 改变中国IT教育,我们正在行动
黑马程序员
黑马程序员为大学毕业后,有理想、有梦想,想从事IT行业的年轻人改变自己的命运。黑马程序员成就IT黑马
向TA提问
展开全部
建立一个单链表,实现插入与删除功能的代码如下:
///单链表
#include<iostream>
using namespace std;

typedef int elemtype; //数据类型模版

struct Lnode //结点
{
elemtype data;
Lnode *next;
};

///建表
void creat_Link(Lnode &head)
{
Lnode *p,*q;
int n;
p=new Lnode;
head=p;
cout<<"输入链表长度:"<<endl;
cin>>n;
cout<<"输入数据:"<<endl;
cin>>p->data;
q=p;
for(int i=1;i<=n-1;i++)
{
p=new Lnode;
//cout<<"输入数据:";
cin>>p->data;
q->next=p;
q=p;
}
q->next=NULL;
}

///表的输出
void output_Link(Lnode *&head)
{
if(head==NULL)
{cout<<"空链表!"<<endl;
return;}
Lnode *q;
q=head;
//cout<<"此链表为:";
while(q!=NULL)
{
cout<<q->data<<" ";
q=q->next;
}
cout<<endl;
}

///表的插入
void insert_Link(Lnode *&head)
{
int i;
cout<<"输入要插入的位置:";

cin>>i;
Lnode *q,*iq;
q=head;
for(int j=1;j<i;j++)
{
iq=q;
q=q->next;
}

cout<<"输入插入的数据:";
Lnode *p;
p=new Lnode;
cin>>p->data;
p->next=iq->next;
iq->next=p;
cout<<endl;

}

///表的数据删除
void Delete_Link(Lnode *&head)
{
cout<<"输入删除的位置:";
int i;
cin>>i;
if(i==1)
head=head->next;
else
{
Lnode *p,*q;
q=head;
for(int j=1;j<i;j++)
{ p=q;
q=q->next;
}
p->next=q->next;
delete q;
cout<<endl;
}
}

int main()
{
Lnode *head;
head=NULL;
creat_Link(head);

insert_Link(head);
output_Link(head);
Delete_Link(head);
output_Link(head);
return 0;
}
[扩展]
以“结点的序列”表示线性表称作线性链表(单链表),链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式