zoukankan      html  css  js  c++  java
  • 面试常考排序算法

     

      

    //直接插入排序
    void InsertSort(int A[], int n)
    {
    	int i,j;
    	int temp;
    	for (i=0;i<n-1;i++)
    	{
    		temp=A[i+1];
    		j=i;
    		while (j>-1&&temp<A[j])
    		{
    			A[j+1]=A[j];
    			j--;
    		}
    		A[j+1]=temp;
    	}
    }
    //冒泡排序
    void BubbleSort(int A[],int n)
    {
    	int i, j, flag=1;
    	int temp;
    	for (i=1;i<n&&flag;i++)
    	{
    		flag=0;
    		for (j=0;j<n-i;j++)
    		{
    			if(A[j+1]<A[j])
    			{
    				flag=1;
    				temp=A[j+1];
    				A[j+1]=A[j];
    				A[j]=temp;
    			}
    		}
    	}
    }
    

      

    //快速排序
    void QuickSort(int A[], int left, int right)
    {
    	int i=left, j=right;
    	int temp=A[left];
    	while(i<j)
    	{
    		while(i<j&&temp<=A[j])j--;
    		if(i<j)A[i++]=A[j];
    		while(i<j&&A[i]<temp)i++;
    		if(i<j)A[j--]=A[i];
    	}
    	A[i]=temp;
    	if(left<i)QuickSort(A,left,i-1);
    	if(j<right)QuickSort(A,j+1,right);
    }
    //快速排序(划分)
    int Partition(int A[], int n, int start, int end) { if(A==NULL||n<=0||start<0||end>=n)return -1; int index=RandomInRange(start, end); swap(&A[index],&A[end]); int small=start-1; for (index=start; index<end; ++index) { if(A[index]<A[end]) { small++; if(index!=small) { swap(&A[small],&A[index]); } } } small++; swap(&A[small],&A[end]); return small; } void QuickSort(int A[], int n, int left, int right) { if(left==right)return; int index=Partition(A, n, left, right); if(index>left) QuickSort(A,n,left,index-1); if(index<right) QuickSort(A,n,index+1,right); } void getLeastKnum(int A[], int n, int B[], int k) { if(A==NULL||n<=0||B==NULL||k<=0||n<k)return; int start=0; int end=n-1; int index=Partition(A,n,start,end); while(index!=k-1) { if(index>k-1) index=Partition(A,n,start,index-1); else index=Partition(A,n,index+1,end); } for (int i=0;i<k;i++) B[i]=A[i]; }

      

     

       

       

       

       

  • 相关阅读:
    医学院现代教育技术中心(网络中心)研究
    计算机网络视频教程(上海交通大学)
    教育部普通高中信息技术课程标准成员介绍
    教育部普通高中信息技术课程标准
    数据库设计的三种范式
    普式游戏(pervasive game)
    帮你了解职业高中
    IP私有地址
    巧用组策略,让Windows登录更安全
    关闭SQL Server 2012智能感知代码提示功能
  • 原文地址:https://www.cnblogs.com/Vae1990Silence/p/4382009.html
Copyright © 2011-2022 走看看