📄 线性表的应用.txt
字号:
/* Note:Your choice is C IDE */
#include <stdio.h>
#include <malloc.h>
#include <iostream>
#include<string>
#define ok 1
#define error 0
#define null 0
using namespace std;
typedef struct lnode{
int data;
struct lnode *next;
}lnode,*linklist;
typedef int status;
linklist createlist(linklist &l,int n)
{ int i;linklist p;
l=(linklist)malloc(sizeof(lnode));
l->next=null;
cout<<"逆位输入几个元素:"<<endl;
for(i=n;i>0;--i){
p=(linklist)malloc(sizeof(lnode));
cin>>p->data;
p->next=l->next;l->next=p;
}
return(l);
}
void print(linklist l)
{ linklist p;
p=l->next;
while(p)
{ cout<<p->data<<endl;
p=p->next;
}
}
status listinsert(linklist &l,int i,int e)
{
linklist p,s;
int j;
p=l; j=0;
while(p&&j<i-1){p=p->next;++j;}
if(!p||j>i-1) return error;
s=(linklist)malloc(sizeof(lnode));
s->data=e;
s->next=p->next;
p->next=s;
return ok;
}
status listdelete(linklist &l,int i)
{linklist p,q;int j=0;
p=l;
while(p->next&&j<i-1)
{p=p->next; ++j;}
if(!(p->next)||j>i-1) return error;
q=p->next;p->next=q->next;
free(q);
return ok;
}
void main()
{ int n,i,e,j;linklist l;
cout<<"请输入线性表的长度:"<<endl;
cin>>n;
createlist(l,n);
cout<<"线性表为:"<<endl;
print(l);
cout<<"插入"<<endl;
cout<<"请输入要插入的数:"<<endl;
cin>>e;
cout<<"请输入要插入的位置:"<<endl;
cin>>i;
while(i<1||i>n+1)
{cout<<"插入的位置不合法,请重新输入要插入的位置:"<<endl;
cin>>i;
}
listinsert(l,i,e);
cout<<"线性表为:"<<endl;
print(l);
cout<<"删除"<<endl;
cout<<"请输入要删除的位置"<<endl;
cin>>j;
while(j<=0||j>n+1)
{cout<<"删除的位置不合法,请重新输入要删除的位置:"<<endl;
cin>>j;
}
listdelete(l,j);
cout<<"线性表为:"<<endl;
print(l);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -