zoukankan      html  css  js  c++  java
  • Java 排序算法实现

    package test;
    
    import java.util.Scanner;
    
    public class JavaSort {
    
    	public static void quickSort(int a[], int left, int right) {
    		if (a == null || a.length == 0)
    			return;
    		if (left >= right)
    			return;
    
    		int i = left;
    		int j = right;
    
    		int key = a[left];
    
    		while (i < j) {
    			while (i < j && key <= a[j]) {
    				j--;
    			}
    			a[i] = a[j];
    
    			while (i < j && key >= a[i]) {
    				i++;
    			}
    			a[j] = a[i];
    		}
    
    		a[i] = key;
    		quickSort(a, left, i - 1);
    		quickSort(a, i + 1, right);
    	}
    
    	public static void InsertSort(int[] a) {
    		if (a == null || a.length == 0)
    			return;
    		int i, j, key;
    
    		for (i = 1; i < a.length; i++) {
    			key = a[i];
    			j = i - 1;
    			while (j >= 0 && a[j] > key) {
    				a[j + 1] = a[j];
    				j--;
    			}
    			a[j + 1] = key;
    		}
    	}
    
    	public static void BubbleSort(int[] a) {
    		if (a == null || a.length == 0)
    			return;
    		int i, j;
    		for (i = 0; i < a.length; i++) {
    			for (j = a.length - 2; j >= i; j--) {
    				if (a[j] > a[j + 1]) {
    					a[j] = a[j + 1] ^ a[j];
    					a[j + 1] = a[j + 1] ^ a[j];
    					a[j] = a[j + 1] ^ a[j];
    				}
    			}
    		}
    	}
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		String line = sc.nextLine();
    		String[] strs = line.split(",");
    		int nums[] = new int[strs.length];
    		int i = 0;
    
    		for (String s : strs) {
    			nums[i++] = Integer.parseInt(s);
    		}
    
    		System.out.println("quick sort");
    		quickSort(nums, 0, nums.length - 1);
    
    		for (int j : nums) {
    			System.out.println(j);
    		}
    
    		System.out.println("insert sort");
    		InsertSort(nums);
    		for (int j : nums) {
    			System.out.println(j);
    		}
    		
    		
    		System.out.println("bubble sort");
    		BubbleSort(nums);
    		for (int j : nums) {
    			System.out.println(j);
    		}
    
    		sc.close();
    	}
    
    }
    
  • 相关阅读:
    kubernetes部署1.15.0版本
    搭建时间服务器
    创建mysql容器
    制作带sshd功能的centos镜像
    容器操作
    镜像制作
    elk日志系统
    k8s基于canel的网络策略
    k8s的flannel网络插件配置
    k8s搭建WebUI--Dashborad管理界面
  • 原文地址:https://www.cnblogs.com/fangying7/p/4723414.html
Copyright © 2011-2022 走看看