zoukankan      html  css  js  c++  java
  • 快速排序

    #include <stdio.h>
    int a[101],n;//定义全局变量,这两个变量需要在子函数中使用
    
    void quicksort(int left,int right)
    {
        int i,j,t,temp;
        int z;
        if(left>right)
    		return;
    
    	temp=a[left]; //temp中存的就是基准数 
    	i=left;
    	j=right;
    	while(i!=j)
    	{
    		//顺序很重要,要先从右往左找 
    		while(a[j]>=temp && i<j)
    			j--; 
    			//再从左往右找
    		while(a[i]<=temp && i<j)
    		    i++;
    		//交换两个数在数组中的位置 
    		if(i<j)//当哨兵i和哨兵j没有相遇时 
    		{
                t=a[i];
                a[i]=a[j];
                a[j]=t;
    		} 
    	}
    //最终将基准数归位
    	a[left]=a[i];
    	a[i]=temp;
    
    //查看过程
    	for(z=1;z<=n;z++)
    	    printf("%d ",a[z]);
    	printf("
    ");
    
    	quicksort(left,i-1);//继续处理左边的,这里是一个递归的过程
    	quicksort(i+1,right);//继续处理右边的,这里是一个递归的过程 
    }
    int main()
    {
    	int i,j,t; 
    	//读入数据 
    	scanf("%d",&n); 
    	for(i=1;i<=n;i++)
    		scanf("%d",&a[i]); 
    
    	quicksort(1,n); //快速排序调用
    	//输出排序后的结果 
    	
    	printf("
    ");
    	for(i=1;i<=n;i++)
    	    printf("%d ",a[i]);
    
    	getchar();getchar();
    	return 0; 
    }
    
    
    
    
  • 相关阅读:
    git ssh keys
    git 修改 email
    git 撤销commit
    企微调试模式
    ORACLE 根据某个字段固定值进行分区
    Apache FtpClient login失败
    Oracle序列
    Oracle merage into
    Oracle all_tables 以及常用sql
    性能优化-使用高性能的库fastutil
  • 原文地址:https://www.cnblogs.com/fazero/p/4966650.html
Copyright © 2011-2022 走看看