线性表的基本操作

来源:互联网 发布:前海保险交易中心知乎 编辑:程序博客网 时间:2024/04/30 01:46
#include<iostream>#define maxsize 10using namespace std;typedef struct{int v[maxsize];int len;}sqlist;int insert(sqlist*L,int i,int elem){if(L->len==maxsize){cout<<"溢出"<<endl;return 0;}else if(i<0||i>maxsize-1){cout<<"插入位置错误"<<endl;return 0;}else {for(int j=L->len-1;j>=i;j--){L->v[j+1]=L->v[j];}L->v[i]=elem;L->len=L->len+1;return 1;}}//i为数组下标int dele(sqlist*L,int i){if(L->len==maxsize){cout<<"溢出"<<endl;return 0;}else if(i<0||i>maxsize-1){cout<<"删除位置错误"<<endl;return 0;}else {for(int j=i;j<L->len-1;j++)L->v[j]=L->v[j+1];L->len=L->len-1;return 1;}}int search(sqlist*L,int x){int j;for( j=0;j<L->len;j++){if(L->v[j]==x)break;}if(j<L->len)return j;else return 0;}int main(){sqlist*L;L=(sqlist*)malloc(sizeof(sqlist));int i;L->len=6;for(i=0;i<6;i++)cin>>L->v[i];int a=insert(L,2,18);int b=dele(L,5);cout<<search(L,4)<<endl;for(i=0;i<6;i++)cout<<L->v[i]<<' ';return 0;}

0 0
原创粉丝点击