快速排序
来源:互联网 发布:mac下载的搜狗输入法 编辑:程序博客网 时间:2024/06/05 19:58
快速排序C语言实现
这里我实现了一个quick函数,它的类型为空,第一个参数为要排序的数组的首地址,第二个参数为该数组的长度。
#include <stdio.h>#define N 10int* p;void quick(int* arr, int length){ int i,j,a,temp; i = 0; j = length - 1; a = arr[0]; while(i != j) { //j move while(i != j && arr[j] >= a) { j--; } if(i == j) { break; } //i move do{ i++; }while(i != j && arr[i] < a); if(i == j) { break; } temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } temp = arr[0]; arr[0] = arr[i]; arr[i] = temp; printf("==>"); for (int i = 0; i < N; i++) { printf("%d ", p[i]); } printf("\n"); if(i > 1) { quick(&arr[0], i); } if((length - 1 - i) > 1) { quick(&arr[i+1], length - 1 - i); }}int main(){ int array[N] = {5,4,6,2,7,8,1,10,9,3}; p = array; for (int i = 0; i < N; i++) { printf("%d ", array[i]); } printf("\n"); quick(array, N); for (int i = 0; i < N; i++) { printf("%d ", array[i]); } printf("\n"); return 0;}
输出结果:
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- C语言获取系统时间
- xcode 自己常用到的快捷键
- Add and Search Word - Data structure design
- Matlab优化问题07—fgoalattain
- GET 与POST一句话理解!
- 快速排序
- iosGET同步、异步请求
- ios 苹果自带的get请求
- java HashMap以及concurrenHashMap
- #leetcode#Implement strStr()
- 【hello,world 也打脸】记storm-starter在某知名IDE下的悲催调试经历
- 计算机网络基础知识
- DOS命令让电脑发射wifi
- Android下定时任务