数据结构:线性表

来源:互联网 发布:软件开发版权协议 编辑:程序博客网 时间:2024/04/29 06:46
//~list.h//:线性表的构造 成员是int型,包含insert(int position,int value),delete(int posion),find(int value),//clear(),getElem(),getlength()  initlist(*L)#include<stdio.h>#define MAXSIZE 20typedef int ElemType;#define  OK 0#define  ERROR -1#define  TRUE 1#define  FAISE 0typedef struct{ElemType data[MAXSIZE];int length;}List;int  initlist(List L){//L.data[MAXSIZE]    L.length=0;return OK;}int GetElem(List L,int i,ElemType *e){if(L.length==0 || i<0 || i>L.length-1)return ERROR;*e = L.data[i];return OK;}int InsertList(List *L,int i,ElemType e){int k;if(L->length==MAXSIZE)return ERROR;if(i<0 || i>L->length)return ERROR;for (k=L->length;k>=i;k--){L->data[k]=L->data[k-1];}L->data[i]=e;L->length++;return OK;}int PrintList(List L){int i;if (L.length==0){printf("List is EMPTY\n");}else{        for (i=0;i<L.length;i++){printf("%d ",L.data[i]);}}return OK;}int DeleteElem(List *L,int i,ElemType *e){int k;if(L->length==0){return ERROR;}if(i<0 || i>L->length-1){return ERROR;}{        *e=L->data[i];for (k=i;k<L->length;k++){L->data[k]=L->data[k+1];}L->length--;return OK;}}
//:list.cpp#include "list.h"List list;int main(){List *list1=&list;    int *e;initlist(list);    InsertList(list1,0,10);InsertList(list1,1,20);DeleteElem(list1,0,e);PrintList(list);}


0 0
原创粉丝点击