链表大小排序方法c语言,5 种排序算法--C语言链表

2023-11-01

源码地址 GitHub:https://github.com/GYT0313/C-DataStructure/blob/master/sortIn5.c

包括:

冒泡排序

快速排序

选择排序

插入排序

希尔排序

运行:

注意:快速排序的核心代码应该没有问题,但是不知道为什么链表长度的值MAX会跑到链表中,找了半天没找出来!!!

7d0c5355cc0c662a88a70c993b60425c.gif

代码:

#include

#include

#define MAX 8 /*线性表的最大长度*/

typedef int ElemType; /*数据元素类型*/

/*顺序表类型定义*/

typedef struct

{

ElemType data[MAX];

int length; /*当前表的长度*/

} SeqList;

/* 初始化 */

SeqList *InitSeqlist()

{

SeqList *L;

L = (SeqList *)malloc(sizeof(SeqList));

L->length = 0;

return L;

}

/* 输入 */

void input(SeqList *L)

{

int i;

srand( time(NULL) );

for ( i=0; i

{

L->data[i] = rand()%100;

L->length++;

}

}

/* 输出 */

void output(SeqList *L)

{

int i;

for ( i=0; i

printf("%-4d", L->data[i]);

printf("\n\n");

}

/* 冒泡排序 O(n^2) */

void BubbleSort( SeqList *L )

{

int i, j, flag, tmp;

for ( i=1; ilength; i++ ) /* 循环N-1次 */

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

链表大小排序方法c语言,5 种排序算法--C语言链表 的相关文章

  • 用Python编写代码,实现输出自己的姓名,班级,学号等信息

    可以使用以下代码实现输出自己的姓名 班级 学号等信息 name 你的姓名 class name 你的班级 student id 你的学号 print 姓名 name print 班级 class name print 学号 student
  • shell-环境变量以及环境变量的配置文件

    环境变量定义 用户自定义变量只在当前的shell中生效 而环境变量会在当前shell和这个shell的所有子shell当中生效 如果把环境变量写入相应的配置文件 那么这个环境变量就会在所有的shell中生效 设置环境变量 export 变量
  • Unity Shader小技巧-制作Shader时在Scene显示实时动态效果

    直接上截图 在编辑shader时 我们会使用到很多动态效果 例如 Time的函数 但是在Unity中会是静态效果 点击这个选项之后就以看到Scene窗口的Shader有动态效果了
  • malloc函数的使用

    调用被调函数 将主函数中动态内存分配的内存中的数据放大十倍 malloc动态分配了1字节的内存空间 最多能存放的整数是255 int型变量并不是一定占4字节 C语言从来没有规定一个整型必须要强制占几字节 C语言只规定了 短整型的长度不能大于
  • ASP.net DropDownList数据绑定及使用详解

    1 dropdownlist 绑定数据 1 1 固定绑定 适合已经固定的数据绑定到dropdownlist 实例
  • vue3中知识点总结(持续更新)

    1 具名插槽 Vue3 具名插槽 Named Slots 文档地址 具名插槽添加
  • java并发怎么理解_java中并发的理解

    在java中谈到并发 我们一定会想到两种锁 一种synchronized锁 一种ReentrantLock 还有一种轻量级的作用在变量上的volatile 那么他们三个有什么具体区别 和具体怎么用呢 下面针对他们三个分别说一下原理和作用 v
  • ArcGIS 正高转换成椭球体高度

    转载 https resources arcgis com zh cn help main 10 1 index html 009t000001vm000000 一 椭球体高度与正高 具体讲解可见 https resources arcgi
  • Fabric加密算法

    BCCSP Blockchain crypto provider 即区块链加密提供商 用于定义选择使用的密码学实现库 负责摘要生成 非对称密钥的签名与验证 根据证书查找私钥等 该模块提供了一系列的接口 这些接口定义了摘要的生成方法 签名 验
  • 负载均衡之Keepalived

    严格意义来说 Keepalived主要是通过虚拟路由冗余来实现高可用功能 但是其也可以借助IPVS实现负载均衡 所以也简要的学习了一下 简介 起初是设计来监控集群中各个节点的状态 根据TCP IP模型中网络层 ICMP控制消息请求 传输层
  • QFileInfo

    一 描述 QFileInfo 提供有关文件系统中文件的名称和位置 路径 访问权限 文件类型等信息 FileInfo 还可用于获取有关 Qt 资源的信息 这个类是隐式共享的 二 成员函数 2 1 判断函数 1 bool isAbsolute
  • python_sqlalchemy

    SQLAlchemy使用和踩坑记 知乎 2 长时间未请求连接自动断开 现象 长时间服务端没有连接数据库 数据库连接自动断开 原因 1 sqlalchemy在create engine时 使用连接池并没有指定连接池回收时间 则连接池的连接不会
  • 交互设计实用指南系列(1) – 操作入口明确

    链接 http ued taobao org blog 2009 12 the practice guidelines of interaction design clear operational entrance of effectiv
  • 微软 AD 已成过去式,这个身份领域国产化替代方案你了解吗?

    随着全球互联网和数字化浪潮的不断发展 信息安全已成为不可忽视的问题 并随着日益复杂的国内外市场格局 其重要性更加凸显 我国政府也相继印发和实施了 数字中国建设整体布局规划 全国一体化大数据体系建设指南 等一系列政策 将核心技术自主可控 安全
  • CSS学习————css的选择器(2)

    选择器的作用 用来查找要设置html样式的元素 css的选择器分为4大类 1 简单选择器 6种 1 1 通配符选择器 1 2 标签选择器 1 3 id选择器 1 4 属性选择器 1 5 类选择器 1 6 分组选择器
  • Mac OS X下Android系统华为手机无法连接问题之解决方案

    一般的android连接mac 很方便不用安装驱动就可以啦 可是不知道为什么特殊情况下有的android手机 小米2 华为等 就是连接不上 下来就说说特殊情况下如何连接 使用USB连接安卓手机后可以做2件事情 关于本机 gt 更多信息 gt
  • 模板的显示实例化与显示具体化

    显式实例化 C 中模板函数 类 的调用与定义分离时 需要使用显式实例化 否则就会出现链接错误 编译器对各个cpp分别编译的时候 模板函数必须被实例化编译 如果我们把调用与定义写在一个文件 在调用语句处有int a b cmp a b 那么编
  • UVM的phase机制(Ⅰ)

    uvm存在phase机制 每个phase完成对应的功能 将所有的程序分解在不同的phase中执行 保证了验证环境的验证代码的执行顺序 并且每个phase完成对应的功能 使验证环境运行仿真层次化 让各种组件的例化次序正确 环境的执行顺序正确

随机推荐