#include<iostream>
#include<cstdio>
#include<algorithm>
const int maxsize=100;
using namespace std;
class SeqList
{private:
int data[maxsize];
int length;
public:
SeqList();
SeqList(int a[],int n);
~SeqList(){delete []odata;}
int Length();
int Get(int i);
int Locate(int x);
void Insert(int i,int x);
int Delete(int i);
void PrintList();
int MaxElement();
int MinElement();
};
SeqList::SeqList()
{
length=0;
}
SeqList::SeqList(int a[],int n)
{
length=n;
if(n>maxsize)
throw("参数非法");
for(int i=0;i<n;i++)
data[i]=a[i];
}
int SeqList::Length()
{
return length;
}
void SeqList::PrintList()
{
for(int i=0;i<length;i++)
cout<<data[i]<<" ";
cout<<endl;
}
int SeqList::Get(int i)
{if(i<1||i>length)
throw "查找位置非法";
return data[i-1];
}
int SeqList::Locate(int x)
{for(int i=0;i<length;i++)
if(data[i]==x)
return i+1;
return 0;
}
void SeqList::Insert(int i,int x)
{if(length>maxsize)
throw "上溢";
if(i<1||i>length+1)
throw "位置";
for(int j=length;j>=i;j--)
data[j]=data[j-1];
data[i-1]=x;
length++;
}
int SeqList::Delete(int i)
{
if(length==0)
throw "下溢";
if(i<1||i>length)
throw "位置";
int x=data[i-1];
for(int j=i;j<length;j++)
data[j-1]=data[j];
length--;
return x;
}
int SeqList::MaxElement()
{
int maxx=data[0];
for(int i=1;i<length;i++)
if(data[i]>maxx)
maxx=data[i];
return maxx;
}
int SeqList::MinElement()
{
int minn=data[0];
for(int i=1;i<length;i++)
if(data[i]<minn)
minn=data[i];
return minn;
}
int main()
{
int a[20];
for(int i=0;i<10;i++)
cin>>a[i];
SeqList l=SeqList(a,10);
/*cout<<l.Get(3)<<endl;
cout<<l.Locate(9)<<endl;
l.Insert(2,100);
cout<<l.Length()<<endl;
cout<<l.Delete(2)<<endl;
cout<<l.Length()<<endl;*/
cout<<l.MaxElement()<<endl;
cout<<l.MinElement()<<endl;
l.PrintList();
return 0;
}
数据结构实验一顺序链表实现
猜你喜欢
转载自blog.csdn.net/sdauguanweihong/article/details/88963683
今日推荐
周排行