问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求救``C描述的数据结构`

发布网友 发布时间:2022-04-27 04:35

我来回答

3个回答

热心网友 时间:2022-06-26 07:28

自己试着去做做吧

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
typedef int ElemType;

typedef struct LNode {
ElemType date;
struct LNode *next;
}linklist,*link;

/*构造链表*//////////////////////////////////////
void IinitList(link &L)
{
if(L)delete L;
L= (link)malloc(sizeof(LNode)) ;
if (!L) exit(1);
L->next=NULL;
cout<<"链表已经建立\n";
}
//////////////////////////////////////////////////////
// /*删除结点*/// //////////////////////////////////////////////
int listdelete(link &L,int i,ElemType &e)
{
link p,q; int j;
p=L;j=0;
while(p->next&&j<i-1)
{
p=p->next;++j;
}

q=p->next;
p->next=q->next;
e=q->date;free(q);
cout<<"链表已经删除\n";
return 1;
}
////////////////////////////////////////////// /////////
// /*插入结点*/////////////// ///////////////////////
int listinsert(link &L,int i,ElemType e)
{
link p,q;
int j;
p=L;j=0;
while(p&&j<i-1)
{
p=p->next;++j;
}
q= (link)malloc(sizeof(LNode));
q->date=e;
q->next=p->next;
p->next=q; cout<<"链表已经插入\n";
return 1;
}
/////////////////////////////////////////////////////
////*显示数据*///////// ////////////////////////////////
void show(link l)
{ link p; int j;
p=l;j=0;
cout<<"链表的值为:\n";
while(p->next)
{
cout<<p->next->date<<endl;
p=p->next;
}
}
//////////////////////// /////////////////////////////////
//////销毁链表////// ////////////////////////////////////////
void destorylinst(link &L)
{
while(L)
{ link p=L;
L=L->next;

free(p) ;
}
L=NULL;
}

////// 打印表头///////////////////////////////////////
void print()
{
cout<<"------------------------\n";
cout<<"------------------------\n";
}
///////////////////////////////////////////////////

//////测试函数///// /////////////////////

void main()
{ link L=NULL; int k;
while(1)
{
cout<<"按0退出\n"<<"按1建立\n"<<"按2插入\n"<<"按3删除\n"
<<"按4清空链表\n" ;
print();
int a,i,j;
cin>>a;
switch(a)
{ case 0: if(L!=NULL)
destorylinst(L) ;

exit(1);
case 1:
IinitList(L);
k=0;
print();
show(L) ;
cout<<"空的链表\n";
cout<<"链表长度为: "<<k<<endl;
print();
cout<<"是否要给链表插入值:y----n\n";
char yy;
yy=getchar();
if(yy=='y')
{
cout<<"请输入值!按回车键后输入下一个,输入0再按回车结束\n";
int bb;
cin>>bb;
while(bb!=0)
{ k++;
listinsert(L,k,bb) ;
cin>>bb;
}
print();
show(L) ; cout<<"链表长度为: "<<k<<endl;
}
else break;

print();
break;
case 2:
if(L!=NULL)

{
cout<<"输入位置:\n";
cin>>i;
while(i>k+1 || i<1)
{
cout<<"位置错误,重新输入插入位置\n" ;
cin>>i;
}
cout<<"输入植;\n";
cin>>j;
listinsert(L,i,j) ;
k++;
print();
show(L);
cout<<"链表长度为:"<<k<<endl;
print();
}
else
{ cout<<"链表不存在,请先建链表\n";
print(); }
break;
case 3:
if(L!=NULL)
{
cout<<"输入位置:\n";
cin>>i;
while(i>k || i<1)
{
cout<<"位置错误,重新输入删除位置\n" ;
cin>>i;
}
listdelete (L,i,j);
cout<<"你删除的是:\n";
cout<<j<<endl ;
k--; print();
show(L);
cout<<"链表长度为:"<<k<<endl;
print();
}
else
{
cout<<"链表不存在,请先建链表\n";
print();
}break;
case 4:
destorylinst(L) ;
cout<<"链表已经清空\n";
print();
break;
default:
break ;
}}
delete L;}

热心网友 时间:2022-06-26 07:28

呵呵 那是头文件中的函数啊 就相当于你以前C语言中的调用函数 只是用一个专门的文件放置他们 用的时候就调用出来啦 没什么难的 好好学把

热心网友 时间:2022-06-26 07:29

那是头文件中的函数啊 就相当于你以前C语言中的调用函数 只是用一个专门的文件放置他们 用的时候就调用出来啦 没什么难的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机玻璃硬度是多少合适 ips屏幕硬度怎么样 手机硬度是什么意思? 2024年拼多多春节发货时间规定是什么?过年还要48小时发货吗? e元素e8100无线鼠标怎么使用 E元素X-8100靠谱吗?可以用几年? E元素X-8100现在有几种配色,哪一种配色好呢? E元素X-8100用的是什么色的轴,适合玩游戏吗? 浙c是哪个城市 浙c是哪里 榻榻米软包怎么安装 \c在C语言中是什么意思? W`C的来历是什么? 排列组合中`P和C的区别 什麼时候用C 什麼时候用P 温度的单位`C用英语怎么说 有没有带一点点伤感的说说,,加张图片的自己写的 说说配图人生三张 人生,我还能撑多久说说图片 人生感慨句子说说心情图 关于人生感悟的带图片的句子有哪些? 请教高手帮忙:在ps中扣得图在AI中有白色背景,该如何去掉背景 AI和CDR怎么去掉背景后面的白底 如何去除图片白色背景,如图,用AI如何把图片中白色的地方变成与背景色相同 用AI怎么把白色的不要的部份去掉? 你好,就是将PS中的图移动到AI中后会有白色的背景,请问那个背景怎么去掉啊??????? 如何把置入的图片背景色去掉 illustrator AI里面PNG形式转换为位图为什么有白色背景,怎么去掉 PS抠好的图,放到AI里,总是有白底,怎么弄才能把白底去掉 如何把在ps中处理好的图案导入到illustrator会自动生成白色背景去掉?急! 怎样获取农行债市宝当日盈亏表? 你好,请问我在农行柜台购买的电子储蓄国债为什么在网上银行的债市宝中我的债券里面看不到 ``C动漫人物有哪些?谢谢 C,C++,VC++,C#是什么关系啊?.....```````` C语言 ``` 比热容的单位 J/(kg·`C)该怎么读 C语言是什么哦 ???/// c语言简单小选择(要求要快) 编程的问题``用C语言编写 C语言,C++,C# 有联系么``?! xshell6 怎么固定? c语言中“\t”输入是怎么输? vivoX9允许出现在其他应用上权限在那里?怎么打开? ‘d:.圩`c 求分享xshell6免费版软件 Xshell使用教程之会话显示中文乱码的解决方法 买了国外主机ip后,怎么用xshell6连接主机并配置服务器端。 Xshell 6怎么注册激活 xshell6怎么连接虚拟机 怎么设置手机QQ的允许显示在其他应用上层? xshell是做什么用的 Xshell 6 如何使用ssh连接路由器