选择排序
选择排序和冒泡排序一样,很简单,而且也比冒泡排序更好理解。
原理:
从0位置开始,依次遍历数组0-(n-1)元素,选择最小(或最大)的,与第1个元素交换。
从1位置开始,依次遍历数组1-(n-1)元素,选择最小(或最大)的,与第2个元素交换。
…
直到n-1位置代码:// 选择排序
void selectSort(int arr[], int len)
{
int te...
分类:
编程语言 时间:
2015-04-30 18:24:29
阅读次数:
165
1 #include 2 #include 3 #include 4 #include 5 const int N=10; //修改随机数据量 6 bool onOroff=1; ...
分类:
编程语言 时间:
2015-04-30 17:42:14
阅读次数:
115
这一系列博客的特点就是——给出每趟排序的结果本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太多了,都比较好,所以这些博客就算是对自己的总结吧。#include<stdio.h>
voidSelectSort(int*m,intn)
{
inti,j,k,temp;
boolflag;
for(i=0;i<n-1;i++)..
分类:
编程语言 时间:
2015-04-29 20:00:33
阅读次数:
187
插入排序原理:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
插入排序核心:假设第一个元素排好,之后的元素对排好的部分从后向前比较并逐一移动。
插入排序实现:
void insertion_sort(int a[], int n)
{
int i,j,tmp;
for (i = 1; i < n; i++) {
tmp = a[i...
分类:
编程语言 时间:
2015-04-28 18:23:49
阅读次数:
133
在数据结构那一块,搜索有顺序查找/二分查找/hash查找,而排序有冒泡排序/选择排序/插入排序/归并排序/快速排序。如果遇到数据量和数组排列方式不同,基于时间复杂度的考虑,可能需要用到混合算法。如果用C语言自己写,是一个很头疼且门槛很高的过程,python却用很简单的方式,让这类算法人人可用。 .....
分类:
编程语言 时间:
2015-04-28 13:56:03
阅读次数:
215
学习内容:循环结构(while语句,do....while语句,for语句);break和continue语句;函数(函数的定义,应用,特性重载); 数组(一维数组,二维数组);(十进制通过函数封装转二、八、十六进制;选择排序,冒泡排序;以及二分查找)一、循环结构1,while语句格式: ...
分类:
编程语言 时间:
2015-04-28 11:05:37
阅读次数:
156
每次 从待排序序列中选择出一个最大(或者最小)的记录添加到有序序列的后面即为选择排序。 选择排序主要有:简单选择排序、树形选择排序、堆排序。1、简单选择排序基本思路:重复进行n趟选择,第i趟通过n-i次记录的比较,在n-i+1个记录中选取最小(或最大)的记录与第i个记录进行交换。void se...
分类:
编程语言 时间:
2015-04-28 08:16:43
阅读次数:
120
一、冒泡排列冒泡排序的原理如下,以8个数由大到小排列为例,进行说明,数据存放在数组a[8]中。假如8个数分别为4、9、10、3、2、14、11、5。a[0]a[3]即4>3,位置不变,继续比较a[3]>a[4]即3>2,位置不变,继续比较a[4 2 int main() 3 { 4 int ...
分类:
编程语言 时间:
2015-04-26 21:10:32
阅读次数:
196
1 package sorting; 2 3 /** 4 * 选择排序 5 * 平均O(n^2),最好O(n^2),最坏O(n^2);空间复杂度O(1);不稳定;简单 6 * @author zeng 7 * 8 */ 9 public class XuanzePaixu {10 11...
分类:
编程语言 时间:
2015-04-25 22:25:41
阅读次数:
199
常见经典排序算法1.希尔排序n的1.2次幂 不稳定2.二分插入法3.直接插入法O(n*n)稳定4.带哨兵的直接排序法5.冒泡排序O(n*n)稳定6.选择排序O(n*n)不稳定7.快速排序log2(n)*n不稳定8.堆排序log2(n)*n不稳定归并排序:log2(n)*n稳定一.希尔(Shell)排...
分类:
编程语言 时间:
2015-04-25 16:34:17
阅读次数:
178