C语言Word文档下载推荐.docx

上传人:b****5 文档编号:20583188 上传时间:2023-01-24 格式:DOCX 页数:14 大小:17.28KB
下载 相关 举报
C语言Word文档下载推荐.docx_第1页
第1页 / 共14页
C语言Word文档下载推荐.docx_第2页
第2页 / 共14页
C语言Word文档下载推荐.docx_第3页
第3页 / 共14页
C语言Word文档下载推荐.docx_第4页
第4页 / 共14页
C语言Word文档下载推荐.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言Word文档下载推荐.docx

《C语言Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。

C语言Word文档下载推荐.docx

while

(1)

{

printf("

顺序表操作菜单"

);

------------------------------------------\n"

线性表的初始化---1判断线性表是否为空表---2\n"

求线性表的长度---3遍历线性表---4\n"

插入新的元素e---5查找元素---6\n"

修改元素---7清空表---8\n"

退出----9\n"

intk;

请输入你要操作的序号:

\n"

scanf("

%d"

&

k);

if(k==0||k>

10)break;

switch(k)

{

case1:

if(InitList(&

L))

{

printf("

线性表初始化成功!

\n\n\n"

}

else

{

printf("

线性表初始化失败!

break;

case2:

if(ListEmpty(L))

线性表为空表!

}

线性表不为空表!

case3:

inti;

i=ListLength(L);

线性表的长度:

%d\n\n\n"

i);

case4:

if(ListTraverse(L))

遍历成功!

遍历失败,没有元素!

case5:

intj;

DataTypee;

请输入插入元素的位置:

scanf("

j);

请输入插入元素的值:

scanf("

e);

if(ListInsert(&

L,j,e))

插入元素成功!

插入元素失败!

case6:

intn;

intelem;

printf("

请输入查找元素的位置:

n);

if(FindElem(L,n,&

elem))

查找元素成功!

你查找的结果是:

elem);

查找元素失败!

case7:

intw;

DataTypem;

请输入修改元素的位置:

w);

请输入修改的值:

m);

if(PutElem(&

L,w,&

m))

修改元素成功!

修改元素失败!

case8:

if(ClearList(&

清空表成功!

清空表失败!

case9:

Quit();

default:

输入错误,请重新输入!

"

}

}

 

}

//线性表的初始化

boolInitList(SqList*L)

{

L->

length=0;

//空表,长度为0

returntrue;

}

//判断线性表是否为空表

boolListEmpty(SqListL)

if(L.length==0)

if(L.length!

=0)

returnfalse;

//释放线性表

//voidDestroyList(SqList*L)

//{

//free(L->

data);

//释放线性表占据的所有存储空间

//}

//求线性表的长度

intListLength(SqListL)

return(L.length);

//求线性表中第i个元素的值

boolFindElem(SqListL,inti,DataType*e)

if(i<

1||i>

L.length)

//判断i值是否合理,若不合理,返回ERROR

*e=L.data[i-1];

//数组中第i-1的单元存储着线性表中第i个数据元素的内容

//遍历线性表

boolListTraverse(SqListL)

inti;

for(i=1;

i<

=L.length;

++i)

%d"

L.data[i-1]);

returntrue;

if(L.length==0)

//清空线性表

boolClearList(SqList*L)

//将线性表的长度置为0

//在线性表L的第i个元素之前插入新的元素e

boolListInsert(SqList*L,inti,DataTypee)

{intk;

if(L->

length==MAXSIZE)

returnfalse;

1||i>

L->

length+1)

=L->

length)

{

for(k=L->

length-1;

k>

=i-1;

k--)

L->

data[k+1]=L->

data[k];

}

data[i-1]=e;

length++;

returntrue;

//给线性表中第i个元素赋值

boolPutElem(SqList*L,inti,DataType*e)

length)

data[i-1]=*e;

//退出

voidQuit()

exit(-1);

程序2:

#include<

#defineMAXSIZE100

#defineOK1

#defineERROR-1

#defineFALSE0

#defineTrue2

typedefstruct

}SqList;

//初始化

intInitList(SqList*L)

returnOK;

//判断是否为空表

intListEmpty(SqList*L)

length==0)

returnTrue;

length!

returnFALSE;

//求表长

//输出表

voidListTraverse(SqListL)

for(i=0;

L.length;

i++)

%d\t"

L.data[i]);

//插入元素

intListInsert(SqList*L,inti,DataTypee)

{

intk;

returnERROR;

k--)

L->

}

returnOK;

//删除元素

intListDelete(SqList*L,inti,DataType*e){

length==0)returnERROR;

length)returnERROR;

*e=L->

data[i-1];

for(k=i;

k<

length;

k++)

data[k-1]=L->

length--;

//查找元素

intListFindEle(SqList*L,DataTypee)

for(i=1;

i<

i++)

if(e==L->

data[i-1])

returni;

returnFALSE;

//修改元素

intListAlter(SqList*L,inti,DataType*e)

returnOK;

//清空表

voidClearList(SqList*L)

//释放表空间

voidDestroyList(SqList*L)//释放线性表占据的所有存储空间

data)

free(L->

intmain()

inttmp=0,locat=0,res=0,n,i;

SqList*list;

list=(SqList*)malloc(sizeof(*list));

\n********************************\n"

*1---------初始化*\n"

*2---------判断是否为空表*\n"

*3---------求表长*\n"

*4---------输出表*\n"

*5---------插入元素*\n"

*6---------删除元素*\n"

*7---------查找元素*\n"

*8---------修改元素*\n"

*9---------清空表*\n"

*10--------释放表空间*\n"

*11--------输入线性表初始值*\n"

*12--------退出*\n"

********************************\n"

请选择菜单号(1-12):

if(n==0||n>

11)

switch(n)

{

case1:

InitList(list);

已完成初始化\n"

break;

case2:

if(ListEmpty(list)==True)

是空表\n"

不是空表\n"

case3:

线性表长度为:

%d\n"

ListLength(*list));

case4:

线性表元素的值为:

ListTraverse(*list);

case5:

要插入的位置和数值为:

scanf("

%d%d"

locat,&

res);

ListInsert(list,locat,res);

插入完成\n"

case6:

要删除的位置为:

locat);

ListDelete(list,locat,&

删除完成\n"

case7:

要查找的数为:

该位置的值为:

ListFindEle(list,locat));

case8:

要修改的位置和数值为:

ListAlter(list,locat,&

修改完成\n"

case9:

ClearList(list);

表中内容已清空\n"

case10:

DestroyList(list);

释放成功!

break;

case11:

InitList(list);

printf("

请输入顺序表长度:

scanf("

list->

length);

请输入顺序表的值:

for(i=0;

list->

length;

data[i]);

线性元素的值为:

ListTraverse(*list);

break;

case12:

exit

(1);

default:

break;

}

return0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1