您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页seqlist

seqlist

来源:华佗健康网
include #include

#define LIST_INTSIZE 50

typedef char DataType; /*在此例中数据类型采用字符类型*/

typedef struct { DataType* elem; /*线性表的基地址*/ int length; /*线性表当前的长度*/ int listsize; /*线性表当前分配的存储容量*/ } SeqList;

int InitSeqList(SeqList* L) {

L->elem=(DataType *)malloc((LIST_INTSIZE+1)*sizeof(DataType)); /*有使用*/ if (L->elem==NULL) {

printf(\"\\\内存分配错误\\n\"); return 0; }

L->length=0;

L->listsize=LIST_INTSIZE; printf(\"\\\内存分配成功\\n\"); return 1; }

int InsertSeqList(SeqList* L, int i, DataType x) {

int j; if (L->length==L->listsize) /*顺序表已满,不能插入*/ { printf(\"\\\顺序表已满!\\n\"); return 0; } else {

if(i<1 || i>L->length+1) /*检查插入位置的合法性*/ { printf(\"\\\位置不合法!\"); return 0; } else {

for(j=L->length;j>=i;j--) /*顺序移动元素*/ {

数组的0元素没 L->elem[j+1]=L->elem[j]; }

L->elem[i]=x; /*新元素插入*/ L->length++; /*表长加一*/ return 1;/*插入成功,返回*/ } } }

int DeleteSeqList(SeqList* L, int i) {

int j;

if(i<1 || i>L->length) /*检查删除位置的合法性*/ {

printf (\"不存在第i个元素!\\n\"); return 0; } else {

for(j=i;j<=L->length;j++) /*向上顺序移动元素*/ L->elem[j]=L->elem[j+1]; L->length--; /*表长减一*/ return 1; /*删除成功*/ } }

int LenSeqList(SeqList* L) /* 返回顺序表L的长度*/ { int n=0;

printf(\"\\\请学生自己实现程序代码!\\n\");

return n; }

int SearchSeqList(SeqList* L, DataType x) /*在线性表中查找值为x的数据元素*/ {

printf(\"\\\请学生自己实现程序代码!\\n\"); }

DataType GetfromSeqList(SeqList* L, int i) /*返回线性表中的第i个元素的值*/ {

printf(\"\\\请学生自己实现程序代码!\\n\"); }

void ShowSeqList(SeqList* L) { int i;

printf(\"\\n\\\显示线性表的所有元素:\"); if(L->length==0)

printf(\"\\n\\\链表为空!\\n\"); else {

printf(\"\\n\\\");

for(i=1;i<=L->length;i++) { printf(\"\%c\ } } }

/* 主函数 */ main()

{ char choice; int i; int j=1; SeqList L; DataType x; while(j) { printf(\"\\n\\n\\n\\n\");

printf(\"\\\--线 性 顺 序 表--\\n\");

printf(\"\\n\\\************************************\"); printf(\"\\n\\\* 1-------顺序表初始化 *\"); printf(\"\\n\\\* 2-------插 入 *\"); printf(\"\\n\\\* 3-------删 除 *\"); printf(\"\\n\\\* 4-------求 表 长 *\"); printf(\"\\n\\\* 5-------按 值 查找 *\"); printf(\"\\n\\\* 6-------读取元素值 *\"); printf(\"\\n\\\* 7-------显示线性表 *\"); printf(\"\\n\\\* 0-------退 出 *\");

printf(\"\\n\\\************************************\\n\"); printf(\"\\\请选择菜单号(0--7):\"); scanf(\"%c\ if(choice=='1')

InitSeqList(&L); else if (choice=='2') { printf(\"\\n\\\请输入的位置i和数值x(输入格式:i,x):\"); scanf(\"%d,%c\ InsertSeqList(&L, i, x);}

else if (choice=='3') { printf(\"\\n\\\请输入要删除元素的位序:\"); scanf(\"%d\ DeleteSeqList(&L, i);} else if (choice=='4') LenSeqList(&L); else if (choice=='5')

SearchSeqList(&L,x); else if (choice=='6')

GetfromSeqList(&L, i); else if (choice=='7') ShowSeqList(&L); else if (choice=='0') { j=0;

printf(\"\\\程序结束!\\n\");} else printf(\"\\n\\\输入错误!请重新输入!\\n\"); } }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务