几种常用算法(快速、选择、插入、迭代)

//利用Arrays带有的排序方法快速排序
	  public static void main(String[] args){   
          int[] a={5,4,2,4,9,1};   
          Arrays.sort(a);  //进行升序排序   
          for(int i: a){   
                 System.out.print(i);   
         }  
  } 
	//选择排序算法
	public static void main(String[] args){   
      int[] a={5,4,2,4,9,1}; 
      int[] b= selectSort(a);
      for (int i : b) {
		System.out.println(i);
      }
	}
    public static int[] selectSort(int[] args){//选择排序算法   
        for (int i=0;i<args.length-1 ;i++ ){   
               int min=i;   
               for (int j=i+1;j<args.length ;j++ ){   
                     if (args[min]>args[j]){   
                          min=j;   
                          }   
                 }   
                     if (min!=i){  
                     int temp=args[i];  
                     args[i]=args[min];  
                     args[min]=temp;          
                 }  
           }  
            return args;  
   } 
	
	//插入排序算法
	public static void main(String[] args){   
		  int[] a={5,4,2,4,9,1}; 
		  int[] b= insertSort(a);
		  for (int i : b) {
			System.out.println(i);
		  }
	}
    public static int[] insertSort(int[] args){   
        for(int i=1;i<args.length;i++){   
                for(int j=i;j>0;j--){   
                        if (args[j]<args[j-1]){   
                                int temp=args[j-1];  
                                args[j-1]=args[j];  
                               args[j]=temp;          
                       }else break;   
               }  
        }  
        return args;  
    }  



	//1 1 2 3 5 8 .....迭代
	public static void main(String[] args) {
		System.out.println(num(6));
	}
	public static int num(int n){
		if(n<=2)return 1;
		return num(n-2)+num(n-1);
	}


	// 产生随机数组    数组元素颠倒顺序
	public static void main(String[] args) {
		int [] a = new int[]{(int) (Math.random()*10),(int) (Math.random()*10),(int) (Math.random()*10),(int) (Math.random()*10),(int) (Math.random()*10)};
		for (int i : a) {
			System.out.println(i);
		}		
		int l=a.length;
		for (int i = 0; i < l/2; i++) {
			int temp=a[i];
			a[i]=a[l-1-i];
			a[l-1-i]=temp;
		}
		for (int i : a) {
			System.out.println(i);
		}
	}

	//去除重复元素,利用set集合特点	
	public static void main(String[] args) {
		int[] a={1,1,33,33,33,5,9,0,0};
		List<Integer> lista=new ArrayList<Integer>();
		for (int i : a) {
			lista.add(i);
		}
		Set<Integer> seta=new HashSet<Integer>();
		seta.addAll(lista);
		System.out.println(seta);
	}


	//去除字符串右边的空格
	public static void main(String[] args) {
		String str="   zxcvb1s s ";		
		System.out.println(str.trim());
		System.out.println(str.lastIndexOf(str.trim()));//返回指定子字符串在此字符串中最右边出现处的索引。
		String sss=str.substring(0,str.lastIndexOf(str.trim())+str.trim().length());
		System.out.println("--"+sss+"--");
	}
	//去除所有空格
	public static String del_space(String str){
		char[] str_old=str.toCharArray();
		StringBuffer str_new= new StringBuffer();
		int i=0;
		for (char c : str_old) {
			if (c !=' ') {
				str_new.append(c);
				i++;
			}
		}
		System.out.println(i);
		return str_new.toString();
	}	
}

猜你喜欢

转载自422979391.iteye.com/blog/2239750