【算法总结系列-1】快速排序-c语言实现
来源:互联网 发布:qq酷双项淘宝客 编辑:程序博客网 时间:2024/06/05 02:47
最近终于顿悟算法对编程的非凡意义,现计划写一系列的文章来总结下常用且比较重要的算法。
现在第一个要小结的就是 快速排序
#include <stdio.h>int a[101],n;//定义全局变量,这两个变量需要在子函数中使用void quicksort(int left,int right) //快速排序算法{ int i,j,t,temp; 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; quicksort(left,i-1);//继续处理左边的 quicksort(i+1,right);//继续处理右边的 return;}int main(){ int i,j; //读入数据 scanf("%d",&n); //n就是待排序的个数 for(i =1 ;i<=n;i++) scanf("%d",&a[i]); quicksort(1,n);//快速排序调用 //输出排序结果 for(i=1;i<=n;i++) printf("%d",a[i]); getchar();getchar();//用了暂停程序,便于查看程序输出的结果,也可以用system("pause")替代 return 0;}
4 3
- 【算法总结系列-1】快速排序-c语言实现
- C语言算法系列:快速排序
- 【面试算法系列】冒泡排序与快速排序 - C语言实现
- 快速排序C语言算法实现
- c语言实现快速排序算法
- 快速排序算法的c语言实现
- 快速排序算法的C语言实现
- 算法导论C语言实现: 快速排序
- 快速排序算法 C语言实现
- 直白快速排序算法,C语言实现
- C语言快速排序算法实现
- 【算法】C语言实现的快速排序
- C语言实现数组快速排序算法
- C语言---快速排序算法实现
- 快速排序算法的C语言实现
- C语言实现快速排序算法
- 用C语言实现快速排序算法
- 用C语言实现快速排序算法
- C++友元
- 浅谈设计模式之外观模式
- 汉诺塔问题 hanoi tower (递归)。
- 在一个数组中找差值最大数对,输出最大差值
- 数组
- 【算法总结系列-1】快速排序-c语言实现
- poj 2356 Find a multiple(鸽巢原理)
- 判断一个链表是否为回文结构
- Component理解
- python
- Android之Bundle类
- 哈理工OJ 1029 Function Run Fun(记忆思想)
- 剑指offer(二十八)之丑数
- jquery中Callbacks对象的实现