为了账号安全,请及时绑定邮箱和手机立即绑定

用c++实现顺序表的基本输入输出插入删除操作不知错误在哪啊?

用c++实现顺序表的基本输入输出插入删除操作不知错误在哪啊?

C++
慕勒3428872 2019-03-28 18:18:52
#include<iostream.h>#include<stdlib.h>#include<time.h>#include<math.h>#define MAXSIZE 100typedef int datatype;typedef struct{datatype a[MAXSIZE];int size;}sequence_list;void inti(sequence_list *slt);void input(sequence_list slt);void output(sequence_list slt);int find(sequence_list slt,datatype x);void insert(sequence_list *slt,datatype x,int position);void dele(sequence_list *slt,int position);void inti(sequence_list *slt)//置空表{slt->size=0;}//输入顺序表的元素void input(sequence_list slt){int i;cout<<"请输入顺序表元素的个数:";cin>>slt.size;for(i=0;i<slt.size;i++)cin>>slt.a[i];// system("pause>null"); //按任意键继续但并不显示出来}void output(sequence_list *slt){int i;cout<<"输出顺序表元素的各个元素\n";if(slt->size<=0){cout<<"No data\n";return;}for(i=0;i<slt->size;i++)cout<<slt->a[i];}int find(sequence_list slt,datatype x){int i=0;for(i=0;i<slt.size;i++)if(x==slt.a[i])break;if(i<slt.size)//成功找到return i;else//失败return 0;}void insert(sequence_list *slt,datatype x,int position){int i;if(slt->size==MAXSIZE){cout<<"\n顺序表是满的!没法插入";exit(1);}if(position<0||position>slt->size){cout<<"\n指定插入的位置不存在!";exit(1);}for(i=slt->size-1;i>=position;i--)slt->a[i+1]=slt->a[i];slt->a[position]=x;slt->size++;}void dele(sequence_list *slt,int position){int i;if(slt->size ==0){cout<<"\n顺序表是空的!";exit(1);}if(position<0||position>=slt->size ){cout<<"\n指定的删除位置不存在!";exit(1);}for(i=position;i<slt->size ;i++)slt->a[i-1]=slt->a [i];slt->size--;}void main(){system("color 3e");int flag,position;datatype x;sequence_list slt;do{int i; system("cls"); //运行前清屏
查看完整描述

3 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

字符型和int型没分清,int flag,cin>>flag;
实际可能转义了,debug看下你就知道了

查看完整回答
反对 回复 2019-03-29
  • 3 回答
  • 0 关注
  • 552 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信