1. 程式人生 > >JAVA中的算法

JAVA中的算法

pri sys opened ret 問題 我們 技術 port dex

線性排序

1選擇排序

思想在一串數字中找到最小的和初始位置交換順序;

這次遇到很多問題。比如在for中i<a是跳出的是a-1但是並沒有執行a-1;

交換時忘記。。

在random中生成的時[0,1)的數,如果我們需要其他數需要在上面做運算

選擇排序方法

技術分享圖片
package com.jiedada.one;

import com.jiedada.creat.Randm;

public class One {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
       
//Randm arr=new Randm(); Randm arr=new Randm(); int arr1[]= arr.randm(20,1,20); for(int i=0;i<arr1.length-1;i++) { int minIndex=i; int j; for(j=i+1;j<arr1.length;j++) { if(arr1[j]<arr1[minIndex]) { minIndex
=j; } } int temp; temp=arr1[i]; arr1[i]=arr1[minIndex]; arr1[minIndex]=temp; } for(int n:arr1) { System.out.print(n+" "); } } }
View Code

隨機數生成代碼

技術分享圖片
package com.jiedada.creat;

public class Randm {
     public int[] randm(int n,int min,int max)
     {
         int arr[]=new int[n];
         for(int i=0;i<n;i++)
         {
             arr[i]=(int)(Math.random()*(max-min+1));
             
         }
         return arr;
     }
}
View Code

樹形結構

圖形結構

JAVA中的算法