内部排序

数据结构里学了好多排序的算法,现在来整理一下吧

收集了几个排序算法的舞蹈,一起感受程序员的艺术吧

插入排序:http://rrurl.cn/jgVFb1

希尔排序:http://rrurl.cn/bk5ivP

快速排序:http://rrurl.cn/sPoa91

归并排序:http://rrurl.cn/bDwSo7

下面用简易的代码实现各种排序的算法

输入10个整形数并进行排序

import java.util.Scanner;
//插入排序
class InsertSort
{
	int[] a=new int[11];
	public void init(int[] b)
	{
		for(int i=0;i<11;i++)
		a[i]=b[i];
	}
	public void insertsort()
	{
		System.out.println("插入排序");
		for(int i=2;i<11;i++)
		{
			if(a[i]0;j-=dk)
				{
					if(a[0]=pivotkey)
			high--;
			a[low]=a[high];
			while(low=a[j])
			break;
			a[s]=a[j];
			s=j;
		}
		a[s]=rc;
	}
	public void print()
	{
		for(int i=10/2;i>=1;i--)
		heapsort(i,10);
		for(int i=10;i>1;i--)  
        {  
            int temp=a[i];  
            a[i]=a[1];  
            a[1]=temp;  
            heapsort(1,i-1);  
        }  
		System.out.println("堆排序");
		for(int i=1;i<11;i++)
		{
			System.out.print(a[i]);
			System.out.print(' ');
		}
		System.out.print("\n");
	}
}
public class sort {
	public static void main(String args[])
	{
		int[] num=new int[11];
		Scanner scanner=new Scanner(System.in);
		for(int i=1;i<11;i++)
		{
			num[i]=scanner.nextInt();
		}
		scanner.close();
		InsertSort q1=new InsertSort();
		q1.init(num);
		q1.insertsort();
		ShellSort q2=new ShellSort();
		q2.init(num);
		q2.shellsort();
		QuitSort q3=new QuitSort();
		q3.init(num);
		q3.quitsort(1,10);
		q3.print();
		MergeSort q4=new MergeSort();
		q4.init(num);
		q4.mergesort(1,10);
		q4.print();
		HeapSort q5=new HeapSort();
		q5.init(num);
		q5.print();
	}
}
内部排序_第1张图片

你可能感兴趣的:(数据结构)