每天一段小代码——线性表
来源:互联网 发布: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"); }
即使代码很简单,也要经常练习,久了不练就不熟悉了