每天一段小代码——线性表

来源:互联网 发布:mac osx应用程序开发 编辑:程序博客网 时间:2024/05/22 14:51
#include<iostream>using namespace std;#define INITSIZE 100typedef struct{  int *elem;  int length;  int initsize;  } Sqlist;  //初始化 void InitList(Sqlist &L){  L.elem =(int *)malloc(INITSIZE*sizeof(int));  L.length=0;  L.initsize=INITSIZE;  }int Locatelem(Sqlist L,int e){  int i=0;  while(i<=L.length&&L.elem[i]!=e) i++;  if(i>L.length);  else return i+1;  }//添加Sqlist InsertElem(Sqlist &L,int i,int e){  int *p,*q;  q=&L.elem[i-1];  for(p=&L.elem[L.length-1];p>=q;p--)  {    *(p+1)=*p;        }  *q=e;  L.length++;  return L;  }//删除 int DeletElem(Sqlist &L,int i){  int *p,*q;  q=L.elem+L.length-1;  p=&L.elem[i-1];  int e=*p;  for(++p;p<=q;p++)  *(p-1)=*(p);  L.length--;  return i;  }//输出 void ShowElem(Sqlist L){  for(int i=0;i<L.length;i++)  cout<<L.elem[i]<<"  ";  }int main(){  Sqlist L;  InitList(L);  InsertElem(L,1,11);  InsertElem(L,2,12);  ShowElem(L);  cout<<Locatelem(L,12)<<"  ";  DeletElem(L,1);  ShowElem(L);  system("pause");  }
即使代码很简单,也要经常练习,久了不练就不熟悉了