(第3讲)简单排序:冒泡。选择。插入
来源:互联网 发布:火淘宝的软件怎么样 编辑:程序博客网 时间:2024/06/05 10:25
首先对这三种简单排序进行比较:
冒泡选择插入比较次数N(N-1)/2N(N-1)/2N(N-1)/4交换次数N^2/4NN(N-1)/4不变性out右边有序out左边有序(下标小于等于out的项有序)下标小于等于out的项部分有序1、冒泡
package com.three;
public class myBubble {
public static void main(String[] args) {
int[] a= {77,99,44,55, 22, 88,-96 ,11 ,0, 66,33,-5 };
mybubble2 b = new mybubble2(a);
b.sort();
}
}
//冒泡排序
class mybubble2{
private int[] a;
public mybubble2(int[] a){
this.a = a;
}
public void sort(){
for(int i=0;i<a.length;i++){
for(int j = 0;j<a.length-1-i;j++){
if(a[j]>a[j+1]){
int temp = a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
System.out.println();
}
}
结果是:
-96 -5 0 11 22 33 44 55 66 77 88 99
2、选择
package com.three;
public class Select {
public static void main(String[] args) {
int[] a= {77,99,44,55, 22, 88 ,11 ,0, 66,33 };
myselect insert = new myselect(a);
insert.sort();
}
}
//选择排序
class myselect{
private int[] a;
public myselect(int[] a){
this.a = a;
}
//选择排序
public void sort(){
for(int i=0;i<a.length;i++){
int minindex = i;
for(int j=i+1;j<a.length;j++){
if(a[j]<a[minindex]){
minindex = j;
}
}
int temp = a[i];
a[i]=a[minindex];
a[minindex]=temp;
}
//遍历
for(int i=0;i<a.length;i++){
System.out.print (a[i]+" ");
}
System.out.println();
}
}
结果是:
0 11 22 33 44 55 66 77 88 99
3、插入
package com.three;
public class Insert {
public static void main(String[] args) {
int[] a= {77,99,44,55, 22, 88 ,11 ,0, 66,33 };
myInsert insert = new myInsert(a);
insert.sort();
}
}
//插入排序
class myInsert{
private int[] a;
public myInsert(int[] a){
this.a = a;
}
//排序方法
public void sort(){
for(int i=1;i<a.length;i++){
int value = a[i];
int valueIndex = i;
while(valueIndex>0&&a[valueIndex-1]>=value){
//将前边一位右移
a[valueIndex] = a[valueIndex-1];
//将前一位的位置空出来
valueIndex--;
}
//将插入的值插入到空出来的那个位置
a[valueIndex]= value;
}
//遍历
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
System.out.println();
}
}
结果是:
0 11 22 33 44 55 66 77 88 99
- (第3讲)简单排序:冒泡。选择。插入
- 3、简单排序(冒泡、选择、插入排序)
- 简单排序(冒泡,选择,交换,插入)
- 简单排序(冒泡|选择|插入)
- 简单排序(冒泡、选择、插入)
- 简单排序(冒泡、选择、插入)总结
- 简单排序(冒泡,选择,直接插入)
- 简单排序(冒泡 选择 插入)
- 简单排序--选择、冒泡、插入
- 冒泡,简单选择,插入排序
- 冒泡、选择、插入简单排序
- 简单排序(冒泡,选择排序,插入排序)
- 简单排序-选择、插入、冒泡排序
- 排序(1)--冒泡,简单选择,快速,简单插入
- 简单排序---冒泡,简单选择,直接插入
- 排序( 冒泡 选择 插入 )
- 排序(冒泡,选择,插入)
- 数据结构 三种简单的排序(插入、选择、冒泡)
- CentOs下安装Crab
- VPN的原理
- JS优秀插件收集
- java编码转换过程
- Android OkHttp完全解析
- (第3讲)简单排序:冒泡。选择。插入
- 在 Java 词汇中没有“虚拟方法”一说
- nQLogViewer 查看BIEE日志
- LeetCode 346. Moving Average from Data Stream
- Android-一个页面中实现短信验证
- 要嫁就嫁程序员,钱多话少死得早~
- 新版MATERIAL DESIGN 官方动效指南(一)
- iOS 开发中的各种证书简要说明
- 一个二维码,苹果安卓两种下载方案