算法

1、冒泡算法

2,5,18,3,23,89,8   
2,5,3,18,23,8,89
2,3,5,18,8,23
2,3,5,8,18
2,3,5,8
2,3,5
2,3

//冒泡排序算法

public class maopao{
 public static void main(String[] args){
  int[] num = {2,5,18,3,23,89,8};
  int temp = 0;//存放临时数
  for(int i=0;i<num.length-1;i++){//控制比较的轮数
   
   for(int j=0;j<num.length-1-i;j++){//控制每轮比较的次数
    //数据交换
    if(num[j]>num[j+1]){
     temp = num[j];
     num[j] = num[j+1];
     num[j+1] = temp;
    }
   }
  }
  
  
  //输出
  for(int i=0;i<num.length;i++){
   System.out.print(num[i]+",");
  }
  System.out.println();
  
 }
}

2、选择排序算法

2,5,18,3,23,89,8
2,5,18,3,23,89,8      1
2,3,18,5,23,89,8      2
2,3,5,18,23,89,8      3
2,3,5,8,23,89,18      4
2,3,5,8,18,89,23      5
2,3,5,8,18,23,89      6

 

//选择排序算法
public class Test17{
 
 public static void main(String[] args){
  int[] num = {2,5,18,3,5,89,8};
  int minIndex = 0;//最小数的索引
  int temp = 0;//临时交换用
  for(int i=0;i<num.length-1;i++){//要比较的轮数
   minIndex = i;
   for(int j=i+1;j<num.length;j++){
    if(num[minIndex]>num[j]){
     minIndex = j;
    }
   }
   if(minIndex!=i){
    temp = num[minIndex];
    num[minIndex] = num[i];
    num[i] = temp;
   }
  }
  
  //输出
  for(int i=0;i<num.length;i++){
   System.out.print(num[i]+",");
  }
  
  
 }
}

 

 

3、排除重复数字

while(true){
    index = r.nextInt(33);
    if(redBall[index]!=-1){
     sysRedBall[i] = redBall[index];
     redBall[index] = -1;
     break;
    }

posted on 2016-01-27 20:00  小同志  阅读(188)  评论(0编辑  收藏  举报

导航