现在的位置: 首页 > 综合 > 正文

刚刚做的顺序表

2014年01月22日 ⁄ 综合 ⁄ 共 1285字 ⁄ 字号 评论关闭

 本人比较水,   希望各位不要见笑!!!!嘿嘿。。。。。。

#include <iostream>
using namespace std;
void Get(int *data,int length,int m)
{
 if(m<1||m>length)
    cout<<"0"<<endl;
    else
       cout<<data[m-1];
}

void Locate(int *data,int x,int length)
{
    for(int k = 0; k < length; k++)
    if(data[k]==x)
      cout<<k+1;
}

int Insert(int *data,int p,int length,int y)
{
 int j, i;
 if(p<1||p>length+1)
     cout<<"插入位置异常!"<<endl;
    for(j = length; j >= p; j--)
        data[j] = data[j-1];
    data[p-1] = y;
    length++;
    for(int k = 0; k < length; k++)
        cout<<data[k]<<" ";
    return length;
}

void Delete(int *data,int length,int q)
{
 int m,j,k;
 if(length==0)
    cout<<"此表为空"<<endl;
 if(q<1||q>length)
    cout<<"要删除的位置不存在!"<<endl;
    m = data[q-1];
    cout<<"要删除的数为:"<<m<<endl;
    for(j = q; j < length; j++)
        data[j-1] = data[j];
    length--;
    for(k = 0; k < length; k++)
        cout<<data[k]<<" ";
}
int main()
{
 int a[20], n, i, data[20], length, h, j, x, p, y, q;
 cin>>n;
 j = 0;
 for(i = 0; i < n; i++)
 {
  cin>>a[i];
 }
 for(i = 0; i < n; i++)
 {
  data[j++] = a[i];
 }
 length = n;
 cout<<"请输入按位查找的位置:"<<endl;
 cin>>h;
 Get(data,length,h);
 cout<<endl;
 cout<<"请输入按值查找的数字:"<<endl;
 cin>>x;
    Locate(data,x,length);
    cout<<endl;
    cout<<"请输入要插入的位置:"<<endl;
    cin>>p;
    cout<<"请输入要插入的数:"<<endl;
    cin>>y;
    length=Insert(data,p,length,y);
    cout<<endl;
    cout<<"请输入要删除的元素的位置:"<<endl;
    cin>>q;
    Delete(data,length,q);
    cout<<endl;
    return 0;
}

抱歉!评论已关闭.