#include <stdio.h> #include <stdlib.h> #include <malloc.h> #define LISTINCREASMENT 100 /*每次分配元素的个数*/ #define LISTSIZE 10 /*顺序存储的最大个数*/ #define OVERFLOW -1 #define OK 1 typedef int ElemType; typedef struct /*顺序表元素的的定义*/ { ElemType * elem; int length; int listsize; } Sqlist; int SqInitial(Sqlist &L) /*初始化线性表*/ { L.elem=(ElemType *) malloc (LISTSIZE*sizeof(ElemType)); if (! L.elem) exit(OVERFLOW); //存储分配失败 L.length=0; L.listsize=LISTSIZE; return OK; } int ListInsert(Sqlist &L,int i,ElemType e) /*插入元素*/ { if(i<1|| i > L.length+1) printf("ERROR!"); if(L.length>=L.listsize) { ElemType*newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREASMENT) *sizeof(ElemType)); if(!newbase) return OVERFLOW;// 当前存储空间已满L.elem=newbase; L.listsize+=LISTINCREASMENT; /*表的容量不足分配内存*/ } ElemType * q=&(L.elem[i-1]); ElemType * p; for(p=&(L.elem[L.length-1]); p>=q; --p) *(p+1)=*p; *q=e; ++L.length; return OK; } void ListDelete(Sqlist &L,int i,ElemType &e) //删除线性表中第i个位置上的元素 { if(i<1||i>L.length) printf("ERROR!"); else { e=L.elem[i-1]; for(;i<L.length;i++) { L.elem[i-1]=L.elem[i]; } L.length--; } } ElemType GetElem(Sqlist &L,int i) { if(i<1||i>L.length) printf("ERROR!"); else { return L.elem[i-1]; } } int main() { Sqlist L; int t =1 ,d; SqInitial(L); printf("构建长度为7的顺序表。\n"); for(t=1; t<=7; t++) /*构建长度为7的顺序表*/ { printf("Please input the %dth list elem:",t); scanf("%d",&d); ListInsert(L,t,d); } printf("表长: %d\n",L.length); /*输出表长*/ for(t=1; t<=L.length; t++) printf("%d ",L.elem[t-1]);/*读表*/ printf("\n删除的位置:"); //删除元素 scanf("%d",&t); ListDelete(L,t,d); printf( "删除元素的值:%d\n",d); printf( "删除后的表:"); for(t=1; t<=L.length; t++) printf("%d ",L.elem[t-1]); //删除后的表 printf("\n要插入的位置"); //插入元素 scanf("%d",&t); printf("要插入的值"); scanf("%d",&d); ListInsert(L,t,d); printf( "插入以后的表:"); for(t=1; t<=L.length; t++) //插入以后的表 printf("%d ",L.elem[t-1]); printf("\n要检索的元素的位置:"); //检索元素 scanf("%d",&t); d=GetElem(L,t); printf( "该元素的值为:%d\n",d);return 0; }
转载于:https://www.cnblogs.com/CCCrunner/p/6444616.html
相关资源:JAVA上百实例源码以及开源项目
转载请注明原文地址: https://mac.8miu.com/read-68486.html