
算法与数据结构
查用算法与数据结构
我是路人乙1
暂不添加
展开
-
排序算法之二分查找
1、算法思路: 在一个有序数列中,必须得是有序数列,如果是无序的可以用之前的排序算法将其变成有序。取中间位置的值,与要被查找的值进行比较,如果不是要查找的值,根据大小情况进一步缩小范围,仍然取中间的值与被查找进行比较,直到找到为止。 如图: 2、代码: //目前要求:_arry为正序的有序序列 int Find2(const int _arry[], int _len,int _findedData) { int left = 0; int right = _len - 1...原创 2020-12-28 11:07:03 · 328 阅读 · 0 评论 -
排序算法之快速排序
冒泡排序的思路: 就是选取一个数为基准,将小于基准的放在左边,大于基准的放在其右边。然后左右两边各自找一个基准,依次用此方法。 举个栗子: 按高矮顺序排序,经常我们说向基准看齐。比如男性基准身高为170,小于170的放在左边,大于170放在右边,比如 168,158,170,175,190,185。 然后左边:168,158。再找个基本依次用这个方法排序。 同理右边:175,190,185。也再找个基准去按照这个方法去排序。 代码: int partition(int _arry[], in原创 2020-12-24 11:03:43 · 129 阅读 · 0 评论 -
排序算法之冒泡排序
冒泡排序的思路:冒泡简单的说,枪打出头鸟,谁最大,就出来排好,就像站队一样,把最高的拎出来站好后,第二高的再拎出来,最后依次排好。 举个例子,有这么一个无序的数组 int arry[10]={2,3,7,9,10,1,6,4,5,8}; 冒泡排序会这样做: 第一轮:从arry[0]开始,依次进行比较,谁大就冒出来,比较arr[i]与arr[j+1],如果arr[i]>arr[j+1]则就交换,然后继续往后比,直到最后。 第二轮:由于第一轮已经把最大的冒出了,然后再将剩下的元素重复一轮。 依次原创 2020-12-23 13:21:57 · 197 阅读 · 0 评论 -
排序算法之希尔排序
3原创 2020-12-04 10:16:44 · 131 阅读 · 0 评论 -
排序算法之直接插入排序
睡之原创 2020-12-03 11:10:02 · 358 阅读 · 0 评论