数据结构及算法
本栏目为本人复习数据结构、算法等相关内容记录,主要以C语言实现;
morning shine潇
这个作者很懒,什么都没留下…
展开
-
排序算法之快速排序的实现
几种常见排序算法(c语言)一、选择排序二、冒泡排序三、插入排序四、快速排序快速排序快速排序是以分治法的思想,将数组分为大小两部分,然后再将两部分再进行大小分类,依次递归,最终达到排序效果。是冒泡排序的改良版,平均时间复杂度:O(N*logN)流程图如下(来源网络)代码如下:/*快速排序*/#include <stdio.h>#define N 10int sz;void quick_sort(int a[],int zuo,int you){ if(zuo&原创 2020-12-18 23:56:23 · 188 阅读 · 1 评论 -
排序算法之插入排序的实现
几种常见排序算法(c语言)一、选择排序二、冒泡排序三、插入排序插入排序插入排序基本流程如下图(动态图来源网络),属于一种比较稳定的排序算法,类比我们平时打扑克牌的时候,每拿一张牌就根据其大小插入到合适的位置;代码实现:#include <stdio.h>#define N 10/*交换函数*/void change(int *x,int *y){ int a; a=*x; *x=*y; *y=a;}void charu_sort(int a[]){ int原创 2020-12-15 23:40:28 · 198 阅读 · 0 评论 -
排序算法之冒泡排序的实现
几种常见的排序算法(c语言)一 、选择排序二、冒泡排序冒泡排序冒泡排序是一种简单的排序算法,基本流程如下:1.给定一个数组,如a[10]2.从a[0]开始遍历数组3.如果前面的数大于后面的一个数,则互换;即如果a[j]>a[j+1]或a[j+1]<a[j],a[j]和 a[j+1]交换;4.循环遍历10遍,结束;代码如下:/*冒泡排序*/#include <stdio.h>#define N 10/*交换函数*/void change(int *x,in原创 2020-12-15 01:29:20 · 437 阅读 · 0 评论 -
排序算法之选择排序的实现
从今天开始准备自我复习一下数据结构以及一些基础算法,本人目前大四学生一枚,请大佬们多多指教,抱拳。持续更新中...几种常见排序算法(c语言)一、选择排序选择排序是较为简单易懂的一种排序算法,基本流程如下:1.给定一个数组,如a[10];2.从第一个数a[0[开始遍历数组,通过比较找到最小值下标;3.将最小值和a[0]互换;4.继续从a[1]开始向后遍历数组,通过比较找到最小值下标;5.将最小值和a[1]互换;6.依次重复遍历;直到遍历到找到的最小值下标为数组末位a[9],结束;该排序算法原创 2020-12-15 00:10:38 · 736 阅读 · 0 评论