基于C语言实现的线性表综合题

Pubertyly

发布日期: 2018-11-07 15:27:31 浏览量: 1225
评分:
star star star star star star star star_border star_border star_border
*转载请注明来自write-bug.com

介绍

  • 按照输入的顺序建立顺序表

  • 对顺序表进行排序(直接插入、冒泡、选择、快速、合并)

  • 按照由大到小的顺序建立一个单链表

  • 链表逆置

  • 将顺序表和链表合并成一个有序表

  • 结果输出

1 解题思路

通过建立一个数组和一个结构体,数组用以保存顺序表,而在结构体内建立数据域和指针域用以保存链表。首先设定序表长度并要求输入数据,建立输出顺序表函数,在通过关于顺序表的五种排序的子函数选择其一进行排序,最后通过输出函数输出;再建立链表,使数据输入链表且由大到小输出,并设计链表逆置函数;最后再写出函数将已有的顺序表和链表合并为一张有序表并输出。而在主函数中通过switch函数来选择所需要的步骤。

2 函数调用图

3 各函数功能

  1. // 建立顺序表
  2. int createList (int arr[]);
  3. // 建立顺序表
  4. int createList (int arr[]);
  5. // 排序列表,流程控制,并且建立快速排序和归并排序所需数组
  6. int sort(int arr[]);
  7. // 直接插入排序
  8. int insertSort(int arr[]);
  9. // 冒泡排序
  10. int bubbleSort(int arr[]);
  11. // 直接选择排序
  12. int selectionSort(int arr[]);
  13. // 快速排序
  14. int quickSort(int arr[], int M, int N);
  15. // 归并排序递归
  16. int merge(int r[], int r2[], int S, int M, int N);
  17. // 归并排序
  18. int mergeSort(int r[], int r2[], int S, int N);
  19. // 建立链表
  20. int createNode(Node *L);
  21. // 对链表节点进行倒序
  22. int sortNode(Node *L);
  23. // 结合两张表
  24. int combine(int arr[], Node *L2);
  25. // 主函数,建立链表节点,流程控制
  26. int main();

4 测试

上传的附件 cloud_download 线性表综合题.7z ( 643.97kb, 361次下载 )
error_outline 下载需要8点积分

keyboard_arrow_left上一篇 : 基于C++实现的教职工信息管理系统 构造二叉树并遍历 : 下一篇keyboard_arrow_right



Pubertyly
2018-11-07 15:27:44
C语言实现的线性表综合题
青楼外煮酒
2019-05-17 22:44:10
源代码呢,楼主
Pubertyly
2019-05-18 10:39:38
源码就在上面帖子的附件里啊

发送私信

走在一起是缘分,一起在走是幸福

18
文章数
20
评论数
最近文章
eject