http://www.cnblogs.com/archimedes/p/select-sort-algorithm.html
分类:
编程语言 时间:
2014-10-24 00:20:52
阅读次数:
229
各种排序算法:冒择路(入)兮(稀)快归堆,桶式排序,基数排序冒泡排序,选择排序,插入排序,稀尔排序,快速排序,归并排序,堆排序,桶式排序,基数排序一、冒泡排序(BubbleSort)1. 基本思想: 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。....
分类:
编程语言 时间:
2014-10-23 14:17:55
阅读次数:
201
C# 经典排序算法大全
选择排序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace sorter
{
public class SelectionSorter
{
private int min;
pub...
分类:
编程语言 时间:
2014-10-22 18:17:34
阅读次数:
251
关于查找数列中第k小的元素的常见方法:
1、先排序整个数列然后取第k-1个数
2、利用选择排序
3、选择算法
4、利用计数排序的思想
5、利用堆排序思想(一)
6、利用堆排序思想(二)...
分类:
编程语言 时间:
2014-10-22 14:36:48
阅读次数:
281
常见经典排序算法
1.希尔排序
2.二分插入法
3.直接插入法
4.带哨兵的直接排序法
5.冒泡排序
6.选择排序
7.快速排序
8.堆排序
一.希尔(Shell)排序法(又称宿小增量排序,是1959年由D.L.Shell提出来的)
/*?S...
分类:
编程语言 时间:
2014-10-22 07:41:06
阅读次数:
298
快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。
(1) 如果不多于1个数据,直接返回。
(2) 一般选择序列最左边的值作为支点数据。
(3) 将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。
(4) 对两边利用递归排序数列。
快速排序比大部分排序算法都要快。尽管我们可以在某些特殊的情况下写出比快速排序快的算法,但是就通常情况而言,没有比它更快的了。快速排序是递归的,对于内存非常有限的机器来说,它不是一个好的选择。...
分类:
编程语言 时间:
2014-10-21 21:44:14
阅读次数:
290
堆数据结构实际上是一种数组对象,是以数组的形式存储的,可是它能够被视为一颗全然二叉树,因此又叫二叉堆。堆分为下面两种类型:大顶堆:父结点的值不小于其子结点的值,堆顶元素最大小顶堆:父结点的值不大于其子结点的值,堆顶元素最小堆排序的时间复杂度跟合并排序一样,都是O(nlgn),可是合并排序不是原地排序...
分类:
编程语言 时间:
2014-10-20 21:14:02
阅读次数:
239
选择排序int arr[5] = {0}; printf("初始化的数组为:"); for (int i =0 ; i 3?1>2?3>2?至少比较三次*/ for (int i = 0; i < 4; i++) { for (int j = i+1; j < 5; j++) { ...
分类:
编程语言 时间:
2014-10-19 22:59:39
阅读次数:
184
#include #pragma mark 选择排序算法void xuanze_array(int *array, int len){ for (int i = 0; iarray[j+1]) {// int temp = array[j];// array[j] = ...
分类:
编程语言 时间:
2014-10-19 22:51:33
阅读次数:
180
1 #include 2 3 void 4 bubbleSort(int *, int); 5 6 void 7 selectSort(int *, int); 8 9 void10 show(int *, int);11 12 void13 swap(int *, int, int);1...
分类:
编程语言 时间:
2014-10-19 11:28:11
阅读次数:
171