本文共 2779 字,大约阅读时间需要 9 分钟。
#include#include #include #define ERROR 0#define OK 1#define N 5typedef int ElemType;typedef struct SqList{ ElemType *p; int Length; int Max; char data;}SqList;ElemType SqList_Init(SqList *t);//初始化ElemType SqList_Add(SqList *t) ;//扩容void SqList_In(SqList *t);//输入ElemType SqList_Find(SqList *t,int key);//查找ElemType SqList_Merge(SqList *t);//合并void SqList_Sort( int a[] );//排序ElemType SqList_Out(SqList *t);//输出ElemType SqList_Init(SqList *t){ t->p=(ElemType*)malloc(sizeof(ElemType)*N); if(t->p==NULL) { return ERROR; } else { t->Length=0; t->Max=N; return OK; }}/* * 顺序表的初始化函数 */void SqList_In(SqList *t){ int data; int q=t->Length; char i; printf("请输入数据:"); do { scanf("%d",&data); t->p[q]=data; t->Length++; SqList_Add(t); q++; } while((i=getchar())!='\n');}/* *输入函数 */ElemType SqList_Add(SqList *t) { if(t->Length==t->Max) { t->p = (ElemType*)realloc(t->p,sizeof(ElemType)*(t->Max+N)); if(t->p==NULL) { return ERROR; } else { t->Max=t->Max+N; return OK; } }}/* *扩容函数 */ElemType SqList_Find(SqList *t,int key){ int i=0; for(;i Length;i++) { if(t->p[i]==key) { printf("您查找的元素首次在第%d位出现\n",++i); return i; } } printf("没有找到你所要查询的元素。\n");}/* *查询函数 */ElemType SqList_Out(SqList *t){ int i; printf("您当前输入的数据为:\n"); for(i=0;i Length;i++) { printf("%2d ",t->p[i]); } printf("\n"); return OK;}/* *输出函数 */void SqList_Sort(SqList *t){ int i,j,k; for(j=0;j Length;j++) { for(i=0;i Length-1-j;i++) { if(t->p[i]>t->p[i+1]) { k=t->p[i]; t->p[i]=t->p[i+1]; t->p[i+1]=k; } } } printf("排序完的元素为:\n"); for(i=0;i Length;i++) { printf("%2d",t->p[i]); } printf("\n");}/* *排序函数 */ElemType SqList_Insert(SqList *t,int L){ int i,j=0; int n; i=t->Length; for(;j Length;k>j-1;k--) { t->p[k+1]=t->p[k]; } t->Length++; SqList_Add(t); printf("请输入您要插入的元素:\n"); scanf("%d",&n); t->p[L-1]=n; } } printf("您要插入元素后的结果为:\n"); for(i=0;i Length;i++) { printf("%2d",t->p[i]); } printf("\n"); return OK;}/* *插入元素函数 */ElemType SqList_Merge(SqList *t){ int data; int q=t->Length; char i; printf("请输入另一个表数据:\n"); do { scanf("%d",&data); t->p[q]=data; t->Length++; SqList_Add(t); q++; } while((i=getchar())!='\n'); return OK;}/* *合并函数 */
#include"Sequence.h"int main(){ SqList T; int Key; int L; SqList_Init(&T);/*初始化*/ SqList_In(&T);/*输入*/ SqList_Out(&T);/*输出*/ printf("请输入您要查找的元素:\n"); scanf("%d",&Key); SqList_Find(&T,Key);/*查找*/ printf("请输入您要插入元素的位置:\n"); scanf("%d",&L); SqList_Insert(&T,L);/*插入*/ SqList_Merge(&T);/*合并*/ SqList_Sort(&T);/*排序*/}
转载地址:http://xwywi.baihongyu.com/