如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
#include"stdio.h"作者:陈必科#include"stdlib.h"#defineMAXSIZE20typedefstruct{intm[MAXSIZE];intlength;}SqList;SqLista;//函数申明部分voidcreat_list(SqList*L);voidout_list(SqListL);voidinsert_sq(SqList*L,inti,inte);intdelete_sq(SqList*L,inti);intlocat_sq(SqListL,floate);intlength(SqListL);voidisempty(SqListL);//主函数部分voidmain(){floatt;inti,e,x,k,n;creat_list(&a);out_list(a);printf("\n输入要删除第i位置的元素\n");scanf_s("%d",&i);x=delete_sq(&a,i);printf("\n被删除的元素为:x=%d\n",x);out_list(a);printf("\n请输入位置i,要插入的元素e的值\n");scanf_s("%d,%d",&i,&e);insert_sq(&a,i,e);out_list(a);printf("\n输入要查找的元素的值t=");scanf_s("%f",&t);n=locat_sq(a,e);printf("\n输出查找到%f元素的位置序号%d",t,n);k=length(a);printf("\n线性表的表长为:%d",k);isempty(a);}voidcreat_list(SqList*L){//创建链表inti;printf("\n输入链表的长度n=");scanf_s("%d",&L->length);for(i=0;i<L->length;i++){printf("\ndata%d=",i+1);scanf_s("%d",&(L->m[i]));}//creat_list}voidout_list(SqListL){//输出线性表inti;printf("\n");for(i=0;i<=L.length-1;i++)printf("%10d",L.m[i]);printf("\n\n打回车键,继续。");}//out_listvoidinsert_sq(SqList*L,inti,inte){//在线性表的第i个位置插入元素eintj;if(L->length==MAXSIZE)printf("\noverflow");elseif(i<1||i>L->length+1)printf("\nerror!");else{for(j=L->length-1;j>i-1;j--)L->m[j+1]=L->m[j];//向后移动数据元素L->m[i-1]=e;//插入元素L->length++;//线性表长加1}}//insert_sqintdelete_sq(SqList*L,inti){//删除第i元素,返回其值intx;intj;if(L->length==0)printf("\n是空表。underflow!");elseif(i<1||i>L->length){printf("\nerror!");}else{x=L->m[i-1];//x为被删除的元素for(j=i;j<=L->length-1;j++)L->m[j-1]=L->m[j];//元素左移L->length--;}return(x);}//delete_sqintlocat_sq(SqListL,floate){//查找值为e的元素inti;for(i=0;i<=L.length-1;i++)if(e==L.m[i])return(i+1);printf("Notbefound:\n");}//locat_sqintlength(SqListL){//求表长inti;intlen=0;for(i=0;i<=L.length-1;i++)len++;return(len);}//lengthvoidisempty(SqListL){//判断是否为空表if(L.length==0)printf("Thelinearlistisempty!\n");elseprintf("Thelinearlistisnotempty!\n");}//isempty#include"stdio.h"#defineMAXSIZE100typedefs