排序方法 最坏时间复杂度 最好时间复杂度 平均时间复杂度直接插入 O(n2) O(n) O(n2)简单选择 O(n2) O(n2) O(n2)起泡排序 O(n2) O(n) O(n2)快速排序 O(n2) O(nlog2n) O(nlog2n)堆排序 O(nlog2n) O(nlog2n) O(nl ...
分类:
编程语言 时间:
2018-09-22 19:40:42
阅读次数:
182
类模板:使用户可以为类声明一种模式,使类中某些数据成员,某些成员函数的参数,某些成员函数的返回值,能取任意类型。 类模板中,类名后必须跟 在主程序中定义对象时,类需说明对象是什么类型,同样用括号,在尖括号中指定所需类模板的类型。 类模板: template class 类名 { 类成员声明} 在类模 ...
分类:
编程语言 时间:
2018-09-06 12:36:28
阅读次数:
174
文字描述 快速排序是对起泡排序的一种改进。它的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 一趟快速排序描述:假设待排序的序列为{L.r[s], L.r[s+1], … , L.r[ ...
分类:
编程语言 时间:
2018-07-25 20:13:00
阅读次数:
143
文字描述 首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序(L.r[1].key>L.r[2].key),则将两个记录交换位置,然后比较第二个记录和第三个记录的关键字。依次类推,直至第n-1个记录和第n个记录的关键字进行过比较为止。上述过程称为第一趟起泡排序,其结果使得关键字最大的记录 ...
分类:
编程语言 时间:
2018-07-25 20:01:51
阅读次数:
162
交换排序:两两比較待排序记录的关键码,若是逆序,则交换,直到无逆序。当中最简单的交换排序是:冒泡排序。 冒泡排序(Bubble Sort,也叫起泡排序):不断地比較相邻的记录,若是不满足排序要求,则交换。 交换时,可从前向后。也可从后向前。看一个从前向后的排序过程: 原序列 12 3 45 33 6 ...
分类:
编程语言 时间:
2017-07-09 13:51:29
阅读次数:
152
<?php
//冒泡(起泡)排序法
$arr=array(0,1,2,3,4,5,6,7,8,9);
$count=count($arr);
for($i=0;$i<$count;$i++){
for($j=0;$j<$count-$i-1;$j++){
if($arr[$j]<$arr[$j+1]){
$tmp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
}
}
}
print_r($arr);
分类:
编程语言 时间:
2017-03-06 10:03:17
阅读次数:
155
在程序中,人们经常关心的是程序运行时间。比如我们较早接触到的起泡排序,对于长度为n的序列A[0,n-1],我们比较A[i]和A[i+1]的大小,当A[i]<=A[i+1]时我们称这两个元素是顺序的,否则我们称这两个元素是逆序的,当两个元素逆序时,我们交换两个元素的位置,我们依次扫描序列A,当到达序列 ...
分类:
其他好文 时间:
2017-03-06 01:05:06
阅读次数:
187
起泡排序(bubble sort) 起泡排序是交换排序中最简单的排序方法,其基本思想是:两两比较相邻记录的关键码,如果反序则交换,直到没有反序的记录为止。 将整个待排序记录分为无序区和有序区,初始时有序区为空。 对无序区从前到后依次将相邻记录的关键码进行比较,若反序则交换,从而使得关键码小的记录向前 ...
分类:
编程语言 时间:
2017-03-05 19:05:56
阅读次数:
165
1、需求分析(1)输入数据的形式为:伪随机数产生程序产生,且每次输入数不少于100个,至少要用5组不同的输入数据(2)输出的形式为:输出关键字参加的比较次数和关键字的移动次数(关键字交换计为3次移动)的数据(3)程序能达到的功能:对起泡排序,直接插入排序,简单选择排序..
分类:
编程语言 时间:
2017-01-07 21:28:52
阅读次数:
499
课本源码部分 第10章 内部排序 - 起泡排序 ——《数据结构》-严蔚敏.吴伟民版 源码使用说明 链接??? 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明 课本源码合辑 链接??? 《数据结构》课本源码合辑 习题集全解析 链接??? 《数据结构题集》习题解析合辑 本源码引入 ...
分类:
编程语言 时间:
2016-06-22 20:23:45
阅读次数:
210