weixin_32108927 2015-10-22 07:46 采纳率: 0%
浏览 3580

顺序表上的基本操作实现

求大神补充一下逆置操作,顺便将注释补上。
求问此处return -1;是什么意思?
顺序表上的基本操作实现
时 限: 1000 ms
内存限制: 10000 K
总时限: 3000 ms
描述: 在顺序存储结构实现基本操作:初始化、创建、插入、删除、查找、遍历、逆置、合并运算。

输入: 请输入线性表La的长度:n
a1 a2 a3 ...an(数值有序,为降序)
请输入要插入到线性表La中的数字x和插入的位置i:x i
请输入要删除数字的位置:i
请输入要查找的数字:x
请输入线性表长度:m
b1 b2...bm(数值有序,为升序)
输出: 创建好的线性表La=a1 a2...an
插入一个数字后的线性表a1 a2...an+1
删除一个数字后的线性表a1 a2...an
查找一个输入的数字后如果找到,输出该数字的位置i,如果没有找到,输出"Not found"的信息。
逆置a1 a2...an后的线性表an an-1...a1
合并两个线性表后的线性表
输入样例: 5

14 11 10 9 5

8 4

4

10

4

1 3 6 9

输出样例: 14 11 10 8 9 5
14 11 10 9 5
3
5 9 10 11 14
1 3 5 6 9 9 10 11 14

代码如下:
#include
#include
#include

using namespace std;

class SeqList
{
protected:
int data[1000];
int Size;
public:
SeqList *last;
SeqList()
{
Size=100;
last=NULL;
}
void Input(int n);
void Insert(int x,int i);
void Remove(int i);
int Search(int x);
void Ergodic()
{
sort(data,data+Size);
}
void Union(SeqList &seqlist);
void output();
};
void SeqList::Input(int n)
{
Size=n;
for(int i=0;i {
cin>>data[i];
}
}
void SeqList::Insert(int x,int i)
{
for(int j=Size-1;j>=i-1;j--)
{
data[j+1]=data[j];
}
data[i-1]=x;
Size++;
}
void SeqList::Remove(int i)
{
for(int j=i-1; j {
data[j]=data[j+1];
}
Size--;
}
int SeqList::Search(int x)
{
for(int i=0; i {
if(data[i]==x)
return i+1;
}
return -1;
}
void SeqList::Union(SeqList &seqlist)
{
for(int i=Size; i {
data[i]=seqlist.data[i-Size];
}
sort(data,data+Size+seqlist.Size);
Size+=seqlist.Size;
}
void SeqList::output()
{
for(int i=0; i {
cout }
cout }
int main()
{
SeqList s1,s2;
int n;
cin>>n;
s1.Input(n);
int x,i;
cin>>x>>i;
s1.Insert(x,i);
s1.output();
int a;
cin>>a;
s1.Remove(a);
s1.output();
int y;
cin>>y;
int b=s1.Search(y);
if(b==-1)
cout<<"Not found"< else cout s1.Ergodic();
s1.output();
int m;
cin>>m;
s2.Input(m);
s1.Union(s2);
s1.output();
return 0;
}

  • 写回答

1条回答 默认 最新

  • Robot-S 2015-10-22 07:50
    关注

    #include
    typedef int A;
    const int LIST_INIT_SIZE=100;
    const int LISTINCREMENT=10;
    typedef struct
    {
    A *elem;
    int length;
    int listsize;
    int incrementsize;
    }Sqlist;
    //初始化操作
    void InitList_......
    答案就在这里:顺序表中基本操作的实现
    ----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿