java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[] = {1,2,34,3,423,23,23,2};这个数组使用冒泡排序法从小到大排序
分析:使用for来取数 ,嵌套for来循环
交换使用if(array[i] > array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
/**
* 使用冒泡排序数组
* @author Administrator
*
*/
public class paixu {
public static void main(String[] args) {
// TODO Auto-generated method stub
int array[] = {1,2,34,3,423,23,23,2};
for(int i = 0;i<array.length;i++){
for(int j = i+1;j<array.length;j++){
if(array[i] > array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
//遍历
for(int i = 0;i<array.length;i++){
int num = array[i];
System.out.print(num +"\t");
}
}
}
/*运行结果
1 2 2 3 23 23 34 423
*/
例体 2:;将int array[] = {1,2,34,3,423,23,23,2};这个数组使用冒泡排序法从大到小排序
分析:使用for来取数 ,嵌套for来循环
交换使用if(array[i] <array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
/**
* 使用冒泡排序数组
* @author Administrator
*
*/
public class paixu {
public static void main(String[] args) {
// TODO Auto-generated method stub
int array[] = {1,2,34,3,423,23,23,2};
for(int i = 0;i<array.length;i++){
for(int j = i+1;j<array.length;j++){
if(array[i] < array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
//遍历
for(int i = 0;i<array.length;i++){
int num = array[i];
System.out.print(num +"\t");
}
}
}
/*
运行结果
423 34 23 23 3 2 2 1
*/
冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间
例题 3:
在一个数组中插入几个数,使用冒泡排序找出最大的一个数
package 冒泡排序;
/*
找出做大的一个数
*/
public class ArrayBub {
private long[] a;
private int nElems;
public ArrayBub(int max){
a =new long[max];
nElems= 0;
}
//定义一个插入的方法
public void insert(int value){
a[nElems] = value;
nElems++;
}
//定义一个显示的方法
public void display(){
for(int i= 0;i<nElems;i++){
System.out.println(a[i]);
}
}
//冒泡排序
public void bubbleSort(){
for(int i = 0;i<nElems-1;i--){
for(int j = 0;j<nElems;j++){
if(a[j]>a[j+1]){
swap(j,j+1);
}
}
}
}
//交换
public void swap(int one,int two ){
long temp = a[one];
a[one] = a[two];
a[two] = temp;;
}
}
package 冒泡排序;
public class BubbleSortApp {
public static void main(String[] args) {
int maxSize = 100;
ArrayBub arr = new ArrayBub(maxSize);
for(int i = 0;i<5;i++){
arr.insert(10 + i);
}
arr.insert(101);
arr.insert(1033);
arr.insert(102);
arr.insert(1034);
arr.display();
arr.bubbleSort();
arr.display();
}
}
/*运行结果
1034
*/