64,651
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
using namespace std;
#define MaxLen 1000
class SeqList
{
private:
int len;
int data;
SeqList *Ndoe;
public:
SeqList(){Ndoe=NULL;}
void Initlize(int,int []);
void Insert(int,int);
void Delete(int);
void Search(int);
void display();
~SeqList(){delete Ndoe;}
};
void SeqList::Initlize(int n,int array[])
{
int i;
len=n;
Ndoe=new SeqList[MaxLen];
for(i=1;i<=len;i++)
Ndoe[i].data=array[i];
display();
}
void SeqList::Insert(int pos,int key)
{
int i;
if(pos<1 || pos>len+1)
cout<<"error"<<endl;
else
{
for(i=len;i>=pos;i--)
Ndoe[i+1].data=Ndoe[i].data;
Ndoe[i+1].data=key;
len++;
display();
}
}
void SeqList::Delete(int pos)
{
int i;
if(pos<1 || pos>len)
cout<<"error"<<endl;
else
{
for(i=pos;i<len;i++)
Ndoe[i].data=Ndoe[i+1].data;
len--;
display();
}
}
void SeqList::Search(int pos)
{
if(pos<1 || pos>len)
cout<<"error"<<endl;
else
cout<<Ndoe[pos].data<<endl;
}
void SeqList::display()
{
int i;
cout<<len<<" ";
for(i=1;i<=len;i++)
cout<<Ndoe[i].data<<" ";
cout<<endl;
}
int main()
{
SeqList c;
int i,n,array[MaxLen],Ipose1,Ipose2,Idata1,Idata2,Dpose1,Dpose2,Spose1,Spose2;
cin>>n;
for(i=1;i<=n;i++)
cin>>array[i];
cin>>Ipose1>>Idata1;
cin>>Ipose2>>Idata2;
cin>>Dpose1;
cin>>Dpose2;
cin>>Spose1;
cin>>Spose2;
c.Initlize(n,array);
c.Insert(Ipose1,Idata1);
c.Insert(Ipose2,Idata2);
c.Delete(Dpose1);
c.Delete(Dpose2);
c.Search(Spose1);
c.Search(Spose2);
return 0;
}
/*
样例输入
6 11 22 33 44 55 66
3 777
1 888
1
9
0
5
样例输出
6 11 22 33 44 55 66
7 11 22 777 33 44 55 66
8 888 11 22 777 33 44 55 66
7 11 22 777 33 44 55 66
error
error
44
*/
#include <time.h>
#include <stdlib.h>
#include <windows.h>
int main() {
int a,b[11];//本来是b[10],为判断哪句越界,故意声明为b[11]
srand((unsigned int)time(NULL));//按两次F11,等黄色右箭头指向本行时,调试、新建断点、新建数据断点,地址:&b[10],字节计数:4,确定。
while (1) {//按F5,会停在下面某句,此时a的值为10,b[10]已经被修改为对应0..4之一。
b[(a=rand()%11)]=0;
Sleep(100);
b[(a=rand()%11)]=1;
Sleep(100);
b[(a=rand()%11)]=2;
Sleep(100);
b[(a=rand()%11)]=3;
Sleep(100);
b[(a=rand()%11)]=4;
Sleep(100);
}
return 0;
}
class a;
a *aa=new a();//调用a的构造函数,只有1个a
delete aa;
a *aa=new a[10];//返回的是包含10个a的数组
delete []aa;
~SeqList(){delete []Ndoe;}