2、(c++)顺序表的建立、输出、查找、按元素位置删除代码

来源:互联网 发布:怎样经营网络棋牌室 编辑:程序博客网 时间:2024/05/16 15:34
#include<iostream>using namespace std;#define Maxsize 25typedef struct{    int data[Maxsize];    int length;}Seqlist;void Createlist(Seqlist *L,int n){    int i;    cout<<"请输入顺序表元素:"<<endl;    for(i=0;i<n;i++)    {        cin>>L->data[i];        L->length=n;    }}void Printlist(Seqlist *L,int n){    int i;    cout<<"顺序表为:";    for(i=0;i<n;i++)    {        cout<<L->data[i]<<" ";    }}void Locate(Seqlist *L,int n){    int i=1,*p;    p=L->data;cout<<endl;    cout<<"请输入要查找的元素n:";    cin>>n;    while(i<=L->length&&(*p++!=n))  ++i;    if(i<=L->length)    cout<<"要查找的数的位置为:"<<i<<endl;}void Listinsert(Seqlist *L,int i,int n){    int *q,*p;    cout<<"请输入要插入的数:";    cin>>n;    if(L->length==0)    {        L->data[0]=n;        ++L->length;    }    q=&(L->data[0]);    while((*q<=n)&&(q<=&(L->data[L->length-1])))    {        ++q;    }    ++L->length;    for(p=&(L->data[L->length-1]); p>=q ;--p)    {    *(p+1)=*p;     *p=n;     } cout<<"输出新表:"<<endl;          for(i=0;i<L->length;i++)     {        cout<<L->data[i]<<" ";     }}void Listdelete(Seqlist *L,int i,int n){    int *p,*q;cout<<endl;    cout<<"请输入要删除的数的位置:"<<endl;;    cin>>i;       if(i<1||i>L->length)    cout<<"删除元素失败!";    p=&L->data[i-1];    n=*p;    q=L->data+L->length-1;    for(++p;p<=q;++p)    {         *(p-1)=*p;         --L->length;       }    for(i=0;i<L->length+1;i++)    {        cout<<L->data[i]<<" ";    }}void main(){void Createlist(Seqlist *L,int n);    void Printlist(Seqlist *L,int n);    void Locate(Seqlist *L,int n);    void Listinsert(Seqlist *L,int i,int n);    void Listdelete(Seqlist *L,int i,int n);    int n;    int i=0;    Seqlist L;    L.length=0;     cout<<"请输入线性表长度:";    cin>>n;    Createlist(&L,n);    Printlist(&L,n);    Locate(&L,n);    Listinsert(&L,i,n);    Listdelete(&L,i,n);    cout<<endl;}

阅读全文
0 0
原创粉丝点击