知识大全 冒泡排序与插入排序
Posted 知
篇首语:一年好景君须记,最是橙黄橘绿时。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 冒泡排序与插入排序相关的知识,希望对你有一定的参考价值。
今天我回顾了一下原来的排序方法 现在分享如下 冒泡排序 两种实现方式 一个是直接实现 如下
int[] a = ;
int temp = ;
for(int i= ;ia[j+ ])
temp = a[j];
a[j] = a[j+ ];
a[j+ ] = temp;
直接运行可以打印出结果 又一种实现方法是实现一个Comparable接口 代码如下
public void bubble(Comparable[] a)
Comparable t;//交换时的临时变量
int n = a length;
boolean flag ;
for(int i= ;i )
t = a[j];
a[j] = a[j+ ];
a[j+ ] = t;
flag = true;
if(!flag)
for(int k= ;k=
System out println(a[k]+ \\t );
break;
插入排序代码如下
int[] a = ;
for(int i= ;i<a length;i++)
if(a[i]<a[i ])
int n = a[i];
for(int j=i ;j>= &&n<a[j];j )
for(int i= ;i<a length;i++)
System out print(a[i]+ \\t );
cha138/Article/program/Java/hx/201311/27078
相关参考
按平均时间将排序分为四类 ()平方阶(O(n))排序 一般称为简单排序例如直接插入直接选择和冒泡排序; ()线性对数阶(O(nlgn))排序 如快速堆和归并排序; ()O(n+£)阶排序
交换排序的基本思想是两两比较待排序记录的关键字发现两个记录的次序相反时即进行交换直到没有反序的记录为止 应用交换排序基本思想的主要排序方法有冒泡排序和快速排序 冒泡排序 排序方法 将被排序
以关键字序列()为例分别写出执行以下排序算法的各趟排序结束时关键字序列的状态 ()直接插入排序()希尔排序()冒泡排序()快速排序 ()直接选择排序()堆排序()归并排序()基数排序 上述方
以关键字序列()为例分别写出执行以下排序算法的各趟排序结束时关键字序列的状态 ()直接插入排序()希尔排序()冒泡排序()快速排序 ()直接选择排序()堆排序()归并排序()基数排序 上述方
交换排序的基本思想两两比较待排序记录的关键字发现两个记录的次序相反时即进行交换直到没有反序的记录为止 冒泡排序 冒泡排序将当前未排序的记录自上而下依次对相邻的两个记录进行比较若为逆序则
算法分析 ()算法的最好时间复杂度 若文件的初始状态是正序的一趟扫描即可完成排序所需的关键字比较次数C和记录移动次数M均达到最小值 Cmin=n Mmin= 冒泡排序最好的时间复杂度为O
快排 <?php functionquicksort($str) if(count($str)<=)return$str;//如果个数不大于一直接返回 $key=$str[];
以关键字序列()为例分别写出执行以下排序算法的各趟排序结束时关键字序列的状态 ()直接插入排序()希尔排序()冒泡排序()快速排序 ()直接选择排序()堆排序()归并排序()基数排序 上述方法中哪些
按平均时间将排序分为四类 ()平方阶(O(n))排序 一般称为简单排序例如直接插入直接选择和冒泡排序; ()线性对数阶(O(nlgn))排序 如快速堆和归并排序; ()O(n+£)阶排序
以关键字序列()为例分别写出执行以下排序算法的各趟排序结束时关键字序列的状态 ()直接插入排序()希尔排序()冒泡排序()快速排序 ()直接选择排序()堆排序()归并排序()基数排序 上述方法中哪些