哪位高手帮我做一下这个C语言的实验报告吧,我实在是不行了~

已知链表theLink 中有15 个数据,且这些数据按照从小到大的顺序排列,完成
1-3 小题。
1. 查找17 是否在这个链表中,如果在,输出“17 is the *th entry of the
link.”, 如果不在,输出“17 is not in the link.” 写出完成该功能的代
码。
2. 把数字20 插入链表,使得链表仍然保持从小到大排列。写出完成该功能的代
码。
3. 如果23 在链表中,删除它,并仍然保持链表从小到大排列,如果不在,什么
也不做。写出完成该功能的代码。
若已知链表theLink 中有n(n  0) 个数据,且这些数据按照从小到大的顺序
排列,完成4-6 小题。
4. 查找数字key 在链表中的位置,不在链表中时位置用-1 表示。写出完成该功
能的代码。
5. 把数字key 插入链表,并仍然保持链表从小到大排列.写出完成该功能的代
码。
6. 如果key 在链表中,删除它,并仍然保持链表从小到大排列,如果不在,什么
也不做。写出完成该功能的代码。

1、
void search17(linklist *head)
{
int count;
linklist *r;

r = head;
count = 0;
while (r && r->data != 17)
{
count++;
r=r->next;
}

if (r)
{
printf("17 is the %d entry of the link.", count);
}
else
{
printf("17 is the *th entry of the link.");
}
}

2、
void Insert20(linklist *head)
{
linklist *r, *p;

r = head;
while (r && r->data < 20)
{
p = r;
r = r->next;
}

if (!p)
{
p = head;
}

p->next = new linklist();
p->next->data = 20;
p->next->next = r;
}

3、
void Delete23(linklist *head)
{
linklist *r, *p;

r = head;
while (r && r->data<23)
{
p = r;
r = r->next;
}

if (r = NULL)
{
return;
}

if (!p)
{
p = head;
}

p->next = r->next;
free(r);
}

4、
int searchKey(linklist *head, int key)
{
int index;
linklist *rear;

index = 0;
rear = head;
while (rear && rear->data != key)
{
index++;
rear = rear->next;
}

if (!rear)
{
index = -1;
}

return index;
}

5、
void InsertKey(linklist *head, int key)
{
linklist *r, *p;

r= head;
while (r && r->data < key)
{
p = r;
r = r->next;
}

if (!r)
{
p = head;
}

p->next = new linklist();
p->next->data = key;
p->next->next = r;
}

6、
void DeleteKey(linklist *head, int key)
{
linklist *r, *p;

r = head;
while (r && r->data != key)
{
p = r;
r= r->next;
}

if (!r)
{
return;
}

p->next = r->next;
free(r);
}
温馨提示:内容为网友见解,仅供参考
无其他回答

哪位高手帮我做一下这个C语言的实验报告吧,我实在是不行了~
1、void search17(linklist *head){ int count;linklist *r;r = head;count = 0;while (r && r->data != 17){ count++;r=r->next;} if (r){ printf("17 is the %d entry of the link.", count);} else { printf("17 is the *th entry of the link.");} } 2、void...

c语言程序设计实验报告内容
10、物理实验报告 ·化学实验报告 ·生物实验报告 ·实验报告格式 ·实验报告模板 11、知识不够广泛,如VC++6.0等程序,自己试了好一阵也不会用;说明我电脑水平还是不够,自学能力不够。已会的东西掌握的还是不够好。12、实验心得:通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编...

有谁能够告诉我c语言的实验报告怎么写?
要求生成二叉树中编号,从1开始进行连续编号,每个结点的编号大于其左右子树中孩子的编号,同一个结点的左右孩子中,其左孩子的编号小于其右孩子的编号,请给出对二叉树中结点的实现如上要求编号并按如下树状形式打印出相应点编号的程序。测试数据:输入 AB∪D∪∪CE∪F∪∪∪ (其中符号“∪”表示空格...

怎么写c语言综合实验设计报告?
添上相关注释。运行程序进行实验并得出实验结果,记录。完成实验报告。3. 实验结果分析 实验结果:由于所给数据Data.txt数据量过小,实验结果不明显,两种查找所耗时间均被系统默认为0;如图所示为编号为37、1294、4091的三个数据元素:分析:哈希查找的方法适用于数据在区间内随机分布均并且量大的数据形式...

C语言实验报告
我写了个,不知道行不,有什么不妥的请指出哈,如要格式请加我,将之发给你 四 川 大 学 计 算 机 学 院、软 件 学 院 实 验 报 告 学号: 姓名: 专业:计算机科学与技术 班级:5 第 13 周 课程名称 c\/C++ 实验课时2 实验项目字符串的复制与追加实验时间08.5. 16 ...

c语言实验报告该怎么写?
c语言实验报告总结这样写:在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们...

C语言程序设计实验报告怎么写啊
1、提交实验报告(电子版)2、提交相应源程序文件(文件名 EX6_x姓名.c, 如EX6_1彭健.c)3、要求从简单到复杂,后面的要求均在前面的基础上进行修改,前六题,每题均需要保留各自的程序,六题以后,每题均在前一题基础上修改,保留最后一个程序即可(如做到第九题,则保留EX6_9姓名.c,做到...

求~大学的一道C语言综合实验设计报告作业~
程序充分利用所学的C语言知识,运用了函数的调用、循环语句、以及return语句,使得编程更加有条理。简单易懂,结构清晰,也使得程序的使用更加方便。2、设计不足:在编程序时,由于考虑到时间和受所学知识的限制,只能输入年份、月份,计算得到的是这一天是星期几;给定年,月,计算此月有多少天 。而并不...

C语言程序设计实验报告
main(){ int a;printf("ÇëÊäÈë³É¼¨£º\\n");scanf("%d",&a);if(90<=a&&a<=100) printf("A");if(80<=a&&a<=89) printf("B");if(70<=a&&a<=79) printf("C");if(60<=a&&a<=69) printf("D"...

c语言实验报告心得
c语言实验心得:1、只有频繁用到或对运算速度要求很高的变量才放到data区内,如for循环中的计数值。2、其他不频繁调用到和对运算速度要求不高的变量都放到xdata区。3、常量放到code区,如字库、修正系数。4、逻辑标志变量可以定义到bdata中。在51系列芯片中有16个字节位寻址区bdata,其中可以定义8*16=128个逻辑变量...

相似回答
大家正在搜