zoukankan      html  css  js  c++  java
  • java代码测试---插入排序和选择排序

      1 public class QuickSort {
      2    
      3     //插入排序
      4     //插入前的序列是排序好的,将新插入的数值与之前的数值比较
      5     //直到找到合适的位置
      6     public static int[] quickSort(int[] arr){
      7         
      8         for(int j=1;j<arr.length;j++){
      9             int key = arr[j];
     10             int i = j-1;
     11             
     12             while(i>=0 && arr[i]<key){
     13                 arr[i+1] = arr[i];
     14                 i = i -1;
     15                 arr[i+1] = key;
     16             }
     17         }
     18         
     19         return arr;
     20     }
     21     
     22     //查询一个值V是否在数组内,如果在数组内输出下标,否则输出‘NIL’
     23     public static String quickSortIn(int[] arr,int V){
     24         List<Integer> list = new ArrayList<Integer>();
     25         for(int i = 0;i<arr.length;i++){
     26             if(V == arr[i]){
     27                 list.add(i);//如果V在数组内,将下标存入list
     28             }
     29         }
     30         
     31         if(list != null && !list.isEmpty()){//如果list不为空,循环输出
     32 
     33             StringBuilder str = new StringBuilder("");
     34             for(int i = 0; i < list.size(); i++){
     35                 str.append("V = "+"arr["+list.get(i)+"]  ");
     36             }
     37             return str.toString();
     38             
     39         }else{//如果list为空,输出‘NIL’
     40             return "NIL";
     41         }
     42     }
     43     
     44     //选择排序
     45     public static void selectSort(int[] a) {
     46         int i;        // 有序区的末尾位置
     47         int j;        // 无序区的起始位置
     48         int min;    // 无序区中最小元素位置
     49 
     50         for(i=0; i<a.length; i++) {
     51             min=i;
     52 
     53             // 找出"a[i+1] ... a[n]"之间的最小元素,并赋值给min。
     54             for(j=i+1; j<a.length; j++) {
     55                 if(a[j] < a[min])
     56                     min=j;
     57             }
     58 
     59             // 若min!=i,则交换 a[i] 和 a[min]。
     60             // 交换之后,保证了a[0] ... a[i] 之间的元素是有序的。
     61             if(min != i) {
     62                 int tmp = a[i];
     63                 a[i] = a[min];
     64                 a[min] = tmp;
     65             }
     66         }
     67     }
     68     
     69     //查询数组的最大值
     70     public static int selectMax(int[] arr){
     71         int max = arr[0];
     72         for(int i =0;i<arr.length;i++){
     73             if(arr[i]>max){
     74                 max = arr[i];
     75             }
     76         }        
     77         return max;
     78     }
     79     
     80     //查询数组的最小值
     81     public static int selectMin(int[] arr){
     82         int min = arr[0];
     83         for(int i =0;i<arr.length;i++){
     84             if(arr[i]<min){
     85                 min = arr[i];
     86             }
     87         }        
     88         return min;
     89     }
     90     
     91     
     92     public static void main(String[] args) {
     93         int[] aaa = {1,5,2,3,4,55,11,22,33,4,22,1};
     94         int[] bbb = {31,41,59,26,41,58};
     95         selectSort(bbb);
     96         for(int a : bbb){
     97             System.out.print(a+"  ");
     98         }
     99         System.out.println();
    100         System.out.println(quickSortIn(bbb,41));
    101         System.out.println(selectMin(bbb));
    102     }
    103 }
  • 相关阅读:
    java反射机制2
    Java反射机制
    EKT Java企业级关键技术强化 Enterprise Edition
    idea导入tomcat后解决控制台中文乱码问题(day12)
    大对象数据LOB的应用 (day10)
    Java关键技术强化:JDK5.0新特性 (day08)
    Java关键技术强化:JDK5.0新特性1 (day07)
    Java高效特性:反射(二)之获取Class对象的四种方式及其区别 (day06)
    Java关键技术强化:类加载器 (day05)
    Java高级特效:反射 (day04)
  • 原文地址:https://www.cnblogs.com/maduar/p/4495705.html
Copyright © 2011-2022 走看看