冒泡排序
来源:互联网 发布:android程序源码下载 编辑:程序博客网 时间:2024/06/06 03:50
import java.util.Scanner;
/**
* 冒泡排序
* 冒泡排序是计算机的一种排序方法,时间复杂度为O(N*N),虽然不及堆排序,快速排序,但是具有稳定性
* @author Administrator
*
*/
public class sort03 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数组以空格分开:");
String str = scanner.nextLine();
String[] data = str.trim().split("\\s{1,}");//trim 去掉字符串开头和结尾的空格 split \s表示空格 表示用1个以上的空格分割
int []a = new int[data.length];
for(int i=0;i<data.length;i++){
a[i] =Integer.parseInt(data[i]);
}
print(a);
bubblesort(a);
System.out.println("排序后的数组");
print(a);
}
public static void bubblesort(int[] data){
for(int i=0;i<data.length-1;i++){
//记录某趟是否发生交换,若为false表示数组已处于有序状态
boolean issorted = false;
for(int j=0;j<data.length-i-1;j++){
if(data[j]>data[j+1]){
int temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
issorted = true;
print(data);
}
}
if(!issorted){
//若数组已处于有序状态,结束循环
break;
}
}
}
public static void print(int[] data){
for(int i= 0;i<data.length;i++){
System.out.print(data[i]+"\t");
}
System.out.println();
}
}
/**
* 冒泡排序
* 冒泡排序是计算机的一种排序方法,时间复杂度为O(N*N),虽然不及堆排序,快速排序,但是具有稳定性
* @author Administrator
*
*/
public class sort03 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数组以空格分开:");
String str = scanner.nextLine();
String[] data = str.trim().split("\\s{1,}");//trim 去掉字符串开头和结尾的空格 split \s表示空格 表示用1个以上的空格分割
int []a = new int[data.length];
for(int i=0;i<data.length;i++){
a[i] =Integer.parseInt(data[i]);
}
print(a);
bubblesort(a);
System.out.println("排序后的数组");
print(a);
}
public static void bubblesort(int[] data){
for(int i=0;i<data.length-1;i++){
//记录某趟是否发生交换,若为false表示数组已处于有序状态
boolean issorted = false;
for(int j=0;j<data.length-i-1;j++){
if(data[j]>data[j+1]){
int temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
issorted = true;
print(data);
}
}
if(!issorted){
//若数组已处于有序状态,结束循环
break;
}
}
}
public static void print(int[] data){
for(int i= 0;i<data.length;i++){
System.out.print(data[i]+"\t");
}
System.out.println();
}
}
1 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 第6周项目5 - 后缀表达式
- 登录-记住用户名
- 智能指针从auto_ptr说起
- ie8 colspan显示问题
- 第八周 项目1-建立顺序串的算法库
- 冒泡排序
- 禁止chrome自动更新(Mac)
- c语言学习第一课: 数据类型、变量、运算符
- Unix环境高级编程的学习环境的搭建
- 第7周 项目4 - 队列数组
- android应用框架系列三,兼容性
- 第6周项目5-后缀表达式
- java基础学习笔记——基本数据类型对象包装类
- Hadoop安装遇到的各种异常及解决办法(1)