两层嵌套循环,外层控制循环次数,内层循环进行比较 此时的代码有问题,内层循环多比较了已经排好序的部分,都在最后面,需要去掉 此时的代码有问题,内层循环最后一个元素,无法和它后面的比较,应该去掉 判断完后,两个变量交换位置,利用第三方变量 java版: PHP版: 选择排序和冒泡排序性能都很低,提高性 ...
分类:
编程语言 时间:
2016-05-17 00:34:50
阅读次数:
206
在排序的家族中,选择排序算是最简单的一个了。 其思想(从小到大): 示例: 初始化:{5,1,2,4,3} 第一轮:{1,5,2,4,3} 第二轮:{1,2,5,4,3} 第三轮:{1,2,3,4,5} 第四轮:{1,2,3,4,5} 第五轮:{1,2,3,4,5} 可以看到时间复杂度是Ο(n2), ...
分类:
编程语言 时间:
2016-05-16 19:57:24
阅读次数:
224
1. 冒泡排序 2. 选择排序 3. 插入排序 ...
分类:
编程语言 时间:
2016-05-16 19:54:45
阅读次数:
182
选择排序(C++) 选择排序: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与 ...
分类:
编程语言 时间:
2016-05-16 17:43:36
阅读次数:
235
直接选择排序:
原理:每次从未排序的序列中找到最小值,记录并最后存放到已排序序列的结尾
性能:时间复杂度为O(N^2)空间复杂度为O(1),排序是不稳定的(把最小值交换到已排序的结尾导致的),每次都能确定一个元素所在的最终位置,比较次数与初始序列无关。
void select_sort(int value[], int length)
{
int i,j;
...
分类:
编程语言 时间:
2016-05-16 11:09:30
阅读次数:
264
学习内容数组的形式,数组的内部存储结构选择排序,冒泡排序,折半查找课后作业1.定义一个函数,函数功能是动态提取int[]中元素的最大值。2.定义一个函数,从数组中查询指定的元素首次出现的位置。3.定义函数,完成冒泡排序,大数下沉。4.折半查找。5.阐述6.定义一个函数,实现..
分类:
其他好文 时间:
2016-05-15 20:00:55
阅读次数:
177
今天看了一下选择排序,在这里记录下学习结果 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕 ...
分类:
编程语言 时间:
2016-05-15 19:41:19
阅读次数:
182
我们经常能遇到这样的问题,让你对一串数据进行排序,比如对一个数组,对顺序表等等进行排序。排序的方法有很多,你可以任意选择,只要能达到人家所要求的效果。一说到排序,对我来说最熟悉的就是冒泡排序,对于冒泡排序只要你掌握好了两个循环的条件其实很简单,今天我们谈谈另外一种排序算法:选择排序。 首先我们来说说 ...
分类:
编程语言 时间:
2016-05-15 15:11:54
阅读次数:
226
比较排序是比较常见的排序算法,它分为以下几个类:交换排序:冒泡排序(BubbleSort)和快速排序(QuickSort)。插入排序:直接插入排序和希尔排序(ShellSort)。选择排序:选择排序(SelectSort)和堆排序(HeapSort)。(一)交换排序:voidBubbleSort(int*arry,intsize)
{
..
分类:
编程语言 时间:
2016-05-15 12:41:27
阅读次数:
243
随机生成一个有10个元素的数组,并找出极值。 ...
分类:
编程语言 时间:
2016-05-13 23:25:33
阅读次数:
473