永发信息网

(检查错误)数据结构-线性表:插入、删除、查找

答案:1  悬赏:0  手机版
解决时间 2021-02-10 22:07
(检查错误)数据结构-线性表:插入、删除、查找
最佳答案

希望是你想要的结果

#include
#include

struct nlist{
int *list;
int size;
int maxsize;
};

//初始化
void initlist(nlist &l){
l.maxsize=20;
l.list=new int[l.maxsize];
l.size=0;
}

//遍历线性表
void traverlist(nlist &l){
for (int i=0;i cout< cout<}

//查找
bool FindList(nlist &l,int& item){
for(int i=0;i if(l.list[i]==item){
item=l.list[i];
return true;
}
return false;
}

//插入
bool insertlist(nlist &l,int x,int pos){
int i;
if(pos<-1) return false;
if(pos==-1) pos=l.size+1;
else if(pos==0)
{ for(i=0;i if(x for(int j=l.size-1;j>=pos-1;j--)
l.list[j+1]=l.list[j];
l.list[pos-1]=x;
l.size++;
return true;
}

//删除
bool deletelist(nlist &l,int &x,int pos){
if(pos<-1) return false;
if(pos==0){
for(int i=0;i if(x==l.list[i]) break;
pos=i+1;
}
else if(pos==-1)
pos=l.size;
x=l.list[pos-1];
for(int j=pos;j l.list[j-1]=l.list[j];
l.size--;
return true;
}

//主函数
void main(){
int a[8]=;
int i;
int x;
int p;
nlist t;
initlist(t);

for(i=0;i<8;i++)
insertlist(t,a[i],i+1); //i+1 表示插入位置
//1 表示插入第一位,则表为反序
//0 则有序(由小到大)排序
traverlist(t);
//插入开始
cout<<"输入要插入的值"< cin>>x;
cout<<"输入插入位置(0为有序,1为表头,-1为表尾,参数-1 -- 8)"< cin>>p;
if (insertlist(t,x,p))
cout<<"插入成功"< traverlist(t);
//插入结束

//查找开始
cout<<"输入要查找的值"< cin>>x;
cout<<"查找结果(1或0):"< //查找结束

//删除开始
cout<<"输入要删除的值"< cin>>x;
if (deletelist(t,x,0))
cout<<"删除成功"< traverlist(t);
//删除结束

}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我晚自习回家,被一群男人轮了,那里没摄像头
月球有几颗人造卫星
qq钱包里的钱能不能充其他的网页游戏
苔藓植物一生经历的生长阶段有哪些
在遗传信息的传递过程中,一般不可能发生的是
常用的纽扣式银锌电池,放电时的电极反应式分
歌词:不管剩下的路有多么遥远。这是什么歌曲
梦到和前女友一起看月食
NBA2kol我才15级。想快点刷人气值,要怎么快
昆明市水泵厂地址在什么地方,想过去办事
下图为长江全年补给水源示意图,回答题。【小
纳瓦·君拉纳拉是否结婚 ?
怎么在网页上设置ftp链接点击后直接用资源管
紫薇园休闲步道地址在什么地方,想过去办事
创世中文网签约难吗
推荐资讯
后头洗衣地址有知道的么?有点事想过去
lieon是什么意思
c# 数组或集合中取差别最大的数
鸿图大展是什么意思
舒城县六安中国财政地址在哪里啊
征求意见的函
最好的异性朋友告诉我他要结婚了,我应该祝福
成都82路公交车调度室号码?
夏季成熟的水果有那些?
铁通宽带包年费能退吗?
我想考国美动画专业,想知道动画专业考什么?
MR.先生地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?