zoukankan      html  css  js  c++  java
  • java学习之—排序

    package test3;
    
    public class Sort{
    	/**
    	 * 冒泡排序
    	 * @param array
    	 */
    	public void bubbleSort(int[] array)
    	{
    		for (int i = 1; i < array.length; i++)
    		{
    			for (int j = 0; j < array.length - i; j++)
    			{
    				if(array[j] > array[j + 1])				//判断相邻两个元素的大小
    				{
    					int c = array[j];				//保存第一个元素的值
    					array[j] = array[j + 1];			//把第二个的值给第一个
    					array[j + 1] = c;				//把第一个的值给第二个
    				}
    			}
    		}
    		showArray(array);
    	}
    	
    	/**
    	 * 选择排序
    	 * @param array
    	 */
    	public void selectSort(int[] array)
    	{
    		int index;
    		for (int i = 1; i < array.length; i++)
    		{	
    			index = 0;
    			for (int j = 1; j <= array.length - i; j++)
    			{
    				if(array[j] > array[index])		//找到最大值
    				{
    					index = j;
    				}
    			}
    			int c = array[array.length - i];           //元素最后一个值
    			array[array.length - i] = array[index];     //把选出来最大值或最小值放到最后一个值上
    			array[index] = c;				//把最后一个值放到选出来最大值或最小值上
    		}
    		showArray(array);
    	}
    	/**
    	 * 反转排序
    	 * @param array
    	 */
    	public void reverseSort(int[] array)
    	{
    		System.out.println("数组原有值");
    		showArray(array);
    		
    		int c;
    		
    		for (int i = 0; i < array.length / 2; i++) {	//循环数组一半
    			c = array[i];				//获取第一个值,放入临时变量
    			array[i] = array[array.length - 1 - i]; //把最后一个值放到第一个值上
    			array[array.length - 1 - i] = c;	//把第一个值放到值上最后一个值上
    		}
    		
    		System.out.println("数组反转值");
    		showArray(array);
    	}
    	
    	private void showArray(int[] array){
    		
    		for(int is : array)
    		{
    			System.out.print("	"+is);
    		}
    		System.out.println();
    		
    	}
        public static void insertSort(int[] a) {
          int i, j, insertNote;// 要插入的数据
          for (i = 1; i < a.length; i++) {// 从数组的第二个元素开始循环将数组中的元素插入
            insertNote = a[i];// 设置数组中的第2个元素为第一次循环要插入的数据
             j = i - 1;
            while (j >= 0 && insertNote < a[j]) {
              a[j + 1] = a[j];// 如果要插入的元素小于第j个元素,就将第j个元素向后移动
              j--;
            }
            a[j + 1] = insertNote;// 直到要插入的元素不小于第j个元素,将insertNote插入到数组中
          }
        }
    }

      

  • 相关阅读:
    NoHttp封装--03 cookie
    NoHttp封装--02 自定义请求
    NoHttp封装--01
    Cookie管理 WebView同步
    Java注解处理器--编译时处理的注解
    Android联网更新应用
    shell编程下 特殊变量、test / [ ]判断、循环、脚本排错
    磁盘管理 之 parted命令添加swap,文件系统
    磁盘管理之 raid 文件系统 分区
    用户管理上
  • 原文地址:https://www.cnblogs.com/chancy/p/7667368.html
Copyright © 2011-2022 走看看