数据结构与算法
文章平均质量分 56
天上掉下个我
下一站,高老庄
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数组反转的C++实现
倒序输出数组的三种C++实现原创 2022-02-12 16:46:16 · 2551 阅读 · 0 评论 -
快速排序算法的C++实现
目录算法描述算法执行过程算法实现算法执行结果算法性能分析参考算法描述快速排序又叫分区排序,它是一种平均性能非常好的排序方法。快速排序使用分治思想。这个算法优于归并算法,因为它在原位上排序,不需要辅助的存储空间。对一个数组A[p…r]进行排序一般有三个步骤。分解:数组A[p…r]被划分为两个子数组A[p…q-1]和A[q+1…r],是的A[p…q-1]中的每一个元素都小于等于A[q],而A[q]也小于等于A[q+1…r]中的每个元素。同时计算下标q。递归:通过递归调用快速排序,对子数组A[p…q-1]原创 2021-08-25 17:05:29 · 2376 阅读 · 0 评论 -
选择排序算法的C++实现
目录算法描述算法执行过程C++代码执行过程算法性能分析参考算法描述选择排序算法通过选择和交换来实现排序,每步从待排序记录中选出关键字最小的记录,顺序放到已经有序的序列的最后,直到全部排完为止。算法执行过程首先从原始数组中选择最小的1个数据,将其和位于第1个位置的数据交换,接着从剩下的n-1个数据中选择次小的1个元素,将其和第2个位置的数据交换。接着不断重复,直到最后两个数据完成交换。最后,原始数组变为从小到大的序列。C++代码#include <iostream>using nam原创 2021-08-24 15:22:35 · 491 阅读 · 0 评论 -
希尔排序算法的C++实现
目录算法描述算法执行过程C++代码执行过程算法性能分析参考算法描述希尔排序是基于插入排序的思想,又被称为缩小增量排序。把数组按一定增量d分组,对每组记录采用直接插入排序方法进行排序,随着增量逐渐减小,所分成的组包含的记录越来越多,到增量的值减小到1时,整个数据合成一组有序的序列。算法执行过程1.将有n个元素的数组分成n/2个数字序列,第1个数据和第n/2+1个数据为一组,第2个数据和第n/2+2个数据为一组…2.一次循环使每一组序列排好顺序。3.将n个元素的数组分为n/4个数字序列,再次排序。原创 2021-08-24 18:28:02 · 392 阅读 · 0 评论 -
直接插入排序算法的C++实现
算法描述直接插入排序是一种最简单的排序算法,其执行过程是依次将每个元素插入到一个有序的序列当中。算法执行过程假设所有元素存放在R[0…n-1]中,R[0,…i-1]是有序区域,R[i…n-1]是待插入区域(不一定为无序区域)。直接插入排序将R[i]插入到R[0…i-1]中,使R[0…i]成为有序的。插入R[i]的过程就是完成排序中的一趟。随着有序区的不断扩大,使R[0…n-1]全部有序。C++代码#include <iostream>using namespace std;void原创 2021-07-03 23:30:03 · 414 阅读 · 2 评论 -
冒泡排序的C语言实现
冒泡排序的C语言实现冒泡排序的算法思想是:按照某一方向依次对无序区相邻元素比较大小,根据比较情况进行位置交换,直到整个区域内的元素全部有序为止,无序区域在每一趟排序后可能会将区域内的最小值移动到最左端(升序排列),当某一趟排序后整个区域不发生变化时(此时所有的元素是有序的),冒泡排序结束。C语言实现#include <stdio.h> //头文件#include <stdlib.h>#include <time.h>#define SIZE原创 2021-06-06 18:52:42 · 293 阅读 · 2 评论
分享