线性表简单操作

来源:互联网 发布:java数据库访问框架 编辑:程序博客网 时间:2024/05/02 04:47
#include<iostream>#define MAXSIZE 100#define OK 1#define ERROR 0using namespace std;typedef int ElemType;typedef struct {ElemType elem[MAXSIZE];intlast;}SeqList;void PrintList(SeqList L){for(int j=1;j<L.last;j++)cout<<L.elem[j]<<"  ";cout<<endl;}void CreateList(SeqList *L){for(int i=1;i<=10;i++){L->elem[i-1]=i*3;L->last=i;}}int Locate(SeqList L,ElemType e){int i;i=0;while((i<=L.last)&&(L.elem[i]!=e)){i++;}if(i<=L.last)return(i+1);elsereturn(-1);}int GetData(SeqList L,int j){if((j<1)&&(j>L.last))return (-1);int r=L.elem[j-1];return(r); }int InsList(SeqList * L,int i,ElemType e){int k;if((i<1)||(i>L->last+2)){return(ERROR);}if(L->last>=MAXSIZE-1){return(ERROR);}for(k=L->last;k>=i;k--)L->elem[k+1]=L->elem[k];L->elem[i]=e;L->last++;return(OK);}int DelByNum(SeqList *L,int i){int k=L->last;for(i;i<k;i++)L->elem[i]=L->elem[i+1];L->last--;return(OK);} int DelByData(SeqList *L,ElemType e){int i = 1;while(L->elem[i]!=e)i++;int Flag=DelByNum(L,i);return(Flag);}int main(){SeqList L;CreateList(&L);PrintList(L);int find = Locate(L,15);int FindByData = GetData(L,4);int ins = InsList(&L,5,90);PrintList(L);cout<<"DelByNum(&L,2)"<<endl;int DelOne = DelByNum(&L,2);PrintList(L);cout<<"DelByData(&L,27)"<<endl;int DelTwo = DelByData(&L,27);PrintList(L);return 0;}


0 0
原创粉丝点击