- 博客(7)
- 收藏
- 关注
原创 二分查找——C语言
二分查找 思想: 先确定待查记录所在范围(区间),然后逐步缩小范围直到找到或找不到该记录为止。 代码: #include<stdio.h> #include<stdlib.h> #define LIST_SIZE 12 typedef int ElemType; typedef struct{ ElemType *elem; int length; }SSTa...
2019-10-30 23:31:48 184
原创 堆排序算法——C语言
堆排序 本次排序结果为非递减,采用的是大顶堆。 思想 小顶堆调整: 假设输出堆顶元素之后,以堆中最后一个元素替代之,此时根节点的左右值比较,由于左子树根节点的值大于右子树的根节点的值且大于根节点的值,则将27和97交换,由于97替代了27之后破坏了右子树的堆,则需要进行上述相同的调整,直至叶子节点,此时堆顶为n-1个元素中的最大值,重复上述过程,将堆顶元素27和堆中最后一个...
2019-10-29 00:03:56 410
原创 归并排序——C语言
归并排序 思想: 假设出示序列含有n个记录,则可看成是n的有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2个长度为2或1的有序子序列;再两两归并,……,如此重复,直至得到一个长度为n的有序序列为止。 代码: #include<stdio.h> #define MAXSIZE 20 //数组大小 typedef int KeyType; //关键字类型 typed...
2019-10-27 00:26:17 127
原创 简单选择排序
简单选择排序算法: 一趟选择排序: 通过n-i次关键字间的比较,从n-i+1个记录中选择出最小的记录,并和第i(1<= i <= n)个记录交换之。 代码: #include<stdio.h> #define MAXSIZE 20 //数组大小 typedef int KeyType; //关键字类型 typedef int InfoType; //元素信息...
2019-10-25 23:26:46 130
原创 插入排序
插入排序 : C语言编写的插入排序,思想在程序注释中体现。 代码如下 #include<stdio.h> #define MAXSIZE 20 //数组大小 typedef int KeyType; //关键字类型 typedef int InfoType; //元素信息类型 //数组中元素的信息 typedef struct{ KeyType key; //元素排...
2019-10-25 11:21:36 112
原创 快速排序
快速排序算法: 思想: 附设两个指针low和high,他们的储值分别为low和high,设枢轴记录的关键字pivotkey,则首先从high所指位置起向前搜索找到第一个关键字小于pivotkey的记录和枢轴记录互相交换,然后从low所指位置向后检索,找到第一个关键字大于pivotkey的记录和枢轴记录互相交换,重复这两步直至low=high为止。 优化: 先将枢轴记录暂存在r[0]的位置...
2019-10-25 10:33:43 216
原创 冒泡排序
用C语言编写的基本操作:冒泡排序。 思想都已在代码注释中注明,可直接复制粘贴运行:本人用的环境是vc++6.0 #include<stdio.h> void swap(int *p,int *q){ int temp = *p; *p = *q; *q = temp; } /* 冒泡排序:升序,从前往后冒泡。 最多进行n-1次冒泡,第i次冒泡会将前n-i+1个 元素的最大...
2019-10-24 00:09:04 154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人