排序算法

Posted xiaokaivip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法相关的知识,希望对你有一定的参考价值。

/**
	 * 二分查找法
	 */
	public static void dichotomySort(int[] a,int b){
		Arrays.sort(a);
		System.out.println(Arrays.toString(a));
		int c = 0;
		int d = a.length-1;
		while(d>=c){
			int f = (c+d)/2;
			if(b>a[f]){
				c=f+1;
			}else if(b == a[f]){
				System.out.println("要查的数的下标为:"+f);
				break;
			}else if(b<a[f]){
				d = d-1;
			}
		}
	}
	/**
	 * 快速排序
	 */
	public static void speedinessSort(int[] a){
		int x = 0;
		int y = a.length-1;
		int z = (x+y)/2;
		
		while(x<a.length-1){
			if(a[x]>a[z] && a[x] > a[z]){
				int t = a[x];
				a[x] = a[z];
				a[z] = t;
			}
			x++;
			y--;
		}
	}
	/**
	 * 插入排序
	 */
	 public static void inserSort(int[] c){
		 for (int i = 0; i < c.length; i++) {
			for (int k = i+1; k < c.length; k++) {
				if(c[i]>c[k]){
					int t = c[k];
					c[k] = c[i];
					c[i] = t;
				}
			}
			
		}
	 }
	 /**
	  * 冒泡排序
	  */
	 public static void bubbleSort(int[] d){
		 for (int i = 0; i < d.length; i++) {
				for (int k = 0; k < d.length-i-1; k++) {
					if(d[i]>d[k]){
						int t = d[k];
						d[k] = d[i];
						d[i] = t;
					}
				}
				
			}
	 }

  

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

算法排序之堆排序

快速排序-递归实现

从搜索文档中查找最小片段的算法?

在第6731次释放指针后双重免费或损坏

TimSort算法分析

以下代码片段的算法复杂度