希尔排序对于多达几千个数据项的,中等大小规模的数组排序表现良好,希尔排序不像快速排序和其它时间复杂度为O(n*logn)的排序算法那么快,因此,对非常大的文件排序,它不是最优选择,但是希尔排序比选择排序和插入排序这种时间复杂度为O(n²)的排序要快的多,并且它非常容易实现,代码简短 希尔排序也...
分类:
其他好文 时间:
2014-07-12 13:06:10
阅读次数:
190
数组和冒泡排序冒泡排序:让数组中的数据从小到大排序,先进行两两比较(第i个元素和第i+1个元素进行比较)进行n(i-1)次两两对比。从大到小排序。10,20,30,40,50,60,70 原始数据20,30,40,50,60,70,10 第一次排序,比较6次30,40,50,60,70,20,10第...
分类:
其他好文 时间:
2014-07-11 22:39:00
阅读次数:
239
public class BubbleSort : SortBase { public BubbleSort(int num, int[] arr): base(num,arr) { } public overri...
分类:
其他好文 时间:
2014-07-09 19:26:54
阅读次数:
159
一。概念每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。二。示例初始序列: {49 27 65 97 76 12 38}第1趟:12与49交换:12{27 65 97 76 49 ...
分类:
其他好文 时间:
2014-07-09 15:46:21
阅读次数:
153
一、直接插入排序
稳定,时间复杂度:最好O(n)、最差O(n^2)、平均O(n^2),空间复杂度O(1)
void InsertSort(int L[], int n)
{
int i, j,key;
for (i = 1; i<n; i++)
if(L[i] < L[i-1])//需要将L[i]插入到有序表L[0...i-1]
{
key = L[i];...
分类:
其他好文 时间:
2014-07-08 13:40:33
阅读次数:
137
一、基础版~冒泡排序/*
*@authoropxin
*@version1.0
*冒泡算法
*
*/
publicclassBubbleSort
{
publicstaticvoidmain(String[]args)
{
int[]number=
{36,12,78,51,93,18,88,29,64,45};
inttemp=0;
for(inti=0;i<number.length;i++)
{
for(intj=0;j<number.length-1-i;j++)..
分类:
其他好文 时间:
2014-07-08 12:11:43
阅读次数:
171
稳定的排序:1、冒泡排序: 工作原理:依次相邻元素进行比较,将小数放在前面,大数放在后面,每一次扫描是将最大的数放在最右边,每次扫描完之后,下次扫描的个数减一,知道所有的数都放好位置。即第一次扫描:比较第一个数和第二个数,判断大小,小数在前,大数在后,接着比较第二个数和第三个数,依次比较,知道最后....
分类:
其他好文 时间:
2014-07-06 18:29:52
阅读次数:
188
以下三个验证性实验都做。(1)直接插入排序算法验证。(2)快速排序算法验证。(3)直接选择排序算法验证。#include#includeusing namespace std;class dishizhang{public: int a[10]; int b[10]; dishiz...
分类:
其他好文 时间:
2014-07-06 17:58:08
阅读次数:
176
#include
void selection_sort(int unsorted[],
int count)
{
for (int i =
0; i 1; i++) {
int min = unsorted[i], min_index = i;
for (int j = i; j
if (unsorte...
分类:
其他好文 时间:
2014-07-06 00:36:27
阅读次数:
225
//冒泡是相邻的两个数比较
void bubble_sort_low(int unsorted[],
int count) //低级
{
for (int i =
0; i1; i++) { //比较的趟数
printf("-----------------\n");
for (int j=0; j1-i; j++) {
...
分类:
其他好文 时间:
2014-07-06 00:35:49
阅读次数:
291