java 三大排序

Posted 花儿为何那样红

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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("\t"+is);
		}
		System.out.println();
		
	}
}

  

以上是关于java 三大排序的主要内容,如果未能解决你的问题,请参考以下文章

Java实现三大简单排序算法

Java排序算法 - 堆排序的代码

三大基础排序算法(冒泡排序,选择排序,插入排序)

Java常用的八种排序算法与代码实现

7种基本排序算法的Java实现

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段