快速排序C实现(阿里巴巴 2012年全国校招笔试题)

简介: 《快速排序C实现》 这篇文章最早是我原创,2012年发表在当时我的百度空间的一篇文章,没想到机缘巧合,此题竟然无意中被阿里巴巴选录,被改成填空题,成为当年阿里巴巴全国校招的笔试题,机缘巧合,可叹可叹!现在博客搬家,我重新把这篇文章保持原貌、原封不动从百度空间搬到CSDN新的博客。

《快速排序C实现》 这篇文章最早是我原创,2012年发表在当时我的百度空间的一篇文章,没想到机缘巧合,此题竟然无意中被阿里巴巴选录,被改成填空题,成为当年阿里巴巴全国校招的笔试题,机缘巧合,可叹可叹!现在博客搬家,我重新把这篇文章保持原貌、原封不动从百度空间搬到CSDN新的博客。


#include <stdio.h>


/*输出*/
void show(int [],int);


void quickSort(int array[],int left,int right)
{

   if(left>right)

          return;


 /*取最左边的值为pivot(基准)*/
     int i=left,j=right,pivot=array[left];
  

    while(i<j)
    {
         while( (i<j) && (pivot <= array[j]) )
            j--;
         if(i<j)
            array[i++]=array[j];
  
  while( (i<j) && (array[i] <= pivot) )
             i++;
         if(i<j)
             array[j--]=array[i];
 }

     array[j]=pivot;/*也可以是 array[i]=piovt。因为此时i=j*/

    quickSort(array,left,i-1);
    quickSort(array,i+1,right);
}


void main()
{
 /*测试数据*/
 //int array[]={4,3,9,0,8,5,7,1,6,2}; 
 int array[]={9,8,7,6,5,4,3,2,1,0,123,22,34,22,56,76,345,221};

 int LEN=sizeof(array)/sizeof(int);

 printf("原始数组:\n");
 show(array,LEN);
 printf("\n-----\n");

 quickSort(array,0,LEN-1);

 printf("\n排序结果:\n");
 show(array,LEN);
}

/*打印*/
void show(int a[],int len)
{
 int i;
 for(i=0;i<len;i++)
  printf("%d ",a[i]);
}



相关文章
985硕,秋招面试30家企业,怒斩阿里、字节、美团offer
6.1号开始投简历,7.6号开始第一场面试,9.30号收到最后一家意向书,我的秋招结束了! 找工作期间薅了网上不少大佬的羊毛,特别感谢期间给予帮助的各位前辈们。在此记录下秋招的全过程,也算是对帮助我的大佬们的回馈,十一假期期间码字,面试问题都排在后面(先看看我是如何一点点薅羊毛的),看得出我对帮助过我的大佬们的重视!(舔就完了,滋滋)
|
算法 程序员
【算法集训暑期刷题营】7.28题---双指针
【算法集训暑期刷题营】7.28题---双指针
【算法集训暑期刷题营】7.28题---双指针
|
算法 程序员 C++
【算法集训暑期刷题营】7.21日题-数组
【算法集训暑期刷题营】7.21日题-数组
【算法集训暑期刷题营】7.21日题-数组
|
算法 搜索推荐 前端开发
金九银十跳槽季——七种排序算法
金九银十跳槽季——七种排序算法
|
JavaScript Java 应用服务中间件
一位铁粉的分享:阿里面试归来总结面经,已成功斩获P6 offer
一不小心,我已经在编程这条路上走了五年,就在今年11月份,前前后后面试了几家大厂,最后成功拿下阿里蚂蚁金服P6 offer,面试过程很顺利,感谢【mikechen优知】分享BAT面试题目与技术知识,提供面试讯息,当作回馈,和大家分享面经。
5759 0
|
索引
对蚂蚁金服面试中几个题目的浅析
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaobryant/article/details/80738819 本文对今天蚂蚁金服面试中的几个问题进行简单阐述分析,望批评指正。
3515 0