上海数据开放平台:请教高人c++问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 18:39:30
程序#include <iostream.h>

#define N 10
class Seqlist {
private:
int list[N];
int size;
public:
Seqlist(){size=0;}
int insert(int item,int pos);
void dele(int item);

void print(){for (int i=0;i<size;i++)
cout<<list[i]<<endl;}

};
int Seqlist::insert(int item,int pos)
{if(size+1>N)
{cout<<"full"<<endl;return 0;}
if (pos<0||pos>size){cout<<"wrong"<<endl;return 0;}
for (int j=size-1;j>=pos;j--)
list[j+1]=list[j];
list[pos]=item;
size++; return 1;
}
void Seqlist::dele(int item)
{
int temp;
for (int i=0;i<(size-1);i++)
{if (list[i]==item)
{temp=list[i];list[i]=list[size-1];list[size-1]=temp;size--;i--;}
void main() {
Seqlist s;
int i;
int data[6]={23,45,67,56,86,45};
for (i=0;i<6;i++)
s.insert (data[i],i);
s.dele(45);
s.print();
}
删除类中等于item的数据元素,那错了,谢谢

那也没错,就是dele函数最后少了两个打括号“}”

#define N 10
class Seqlist {
private:
int list[N];
int size;
public:
Seqlist(){size=0;}
int insert(int item,int pos);
void dele(int item);

void print(){for (int i=0;i<size;i++)
cout<<list[i]<<endl;}

};
int Seqlist::insert(int item,int pos)
{if(size+1>N)
{cout<<"full"<<endl;return 0;}
if (pos<0||pos>size){cout<<"wrong"<<endl;return 0;}
for (int j=size-1;j>=pos;j--)
list[j+1]=list[j];
list[pos]=item;
size++; return 1;
}
void Seqlist::dele(int item)
{
int temp;
for (int i=0;i<(size-1);i++)
{if (list[i]==item) -------这里的寻坏开始,没结束
{temp=list[i];list[i]=list[size-1];list[size-1]=temp;size--;i--;————这的判断也没结束
}
————在这里要加俩括号来结束上面的
void main() {
Seqlist s;
int i;
int data[6]={23,45,67,56,86,45};
for (i=0;i<6;i++)
s.insert (data[i],i);
s.dele(45);
s.print();
}

void Seqlist::dele(int item)
{
int temp;
for (int i=0;i<(size-1);i++)
{if (list[i]==item)
{temp=list[i];list[i]=list[size-1];list[size-1]=temp;size--;i--;}
void main() {
Seqlist s;
int i;
int data[6]={23,45,67,56,86,45};
for (i=0;i<6;i++)
s.insert (data[i],i);
s.dele(45);
s.print();
}
在MAIN()前面加两个“}}”就行了。