快速排序
来源:互联网 发布:授权回调域名出错 编辑:程序博客网 时间:2024/05/17 10:28
【快速排序】
【算法】
分治法
【时间复杂度】
nlogn
【代码】
#include <stdio.h>#include <stdlib.h>//挖坑填数void QuickSort1(int a[], int left, int right){if(left < right){int i, j;int tmp;tmp = a[left];i = left;j = right;while(i < j){while( i < j && a[j] > tmp)j--;if(i < j)a[i++] = a[j];while( i < j && a[i] < tmp)i++;if(i < j)a[j--] = a[i];}if(i == j)a[i] = tmp;QuickSort1(a, left, i - 1);QuickSort1(a, i + 1, right);}}void swap(int *a, int *b){int tmp;tmp = *a;*a = *b;*b = tmp;}//void QuickSort2(int a[], int left, int right){if(left < right){int i, j;int tmp;i = left;j = left - 1;tmp = a[right];while(i < right){while(a[i] > tmp)i++;if(i < right){j++;swap(&a[j], &a[i]);}i++;}swap(&a[j + 1], &a[right]);QuickSort2(a, left, j);QuickSort2(a, j + 2, right);}}int main(void){int a[7] = {5, 6, 1, 4, 9, 3, 7};QuickSort2(a, 0, 6);for(int i = 0; i < 7; i++)printf("%d ", a[i]);printf("\n");return 0;}
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- Innovation - 酷家乐 - 10秒生成在线3D家装效果图
- Windows系统不同SVN版本对比
- 最新下载安卓源代码的经历
- 在一个字符串中找到第一个只出现一次的字符
- CF 243 C. Magic Formulas(位运算)
- 快速排序
- Java 8 的新特性和改进总览
- 2014年,毕业后开始我的职业旅程
- Codeforces Round #239 (Div. 2) C. Triangle
- 一句话看C++与Java之间的区别
- 物理库与内存库
- c 中的scanf, gets,fgets
- failed to lazily initialize a collection of role: com.bean.User.activities, could not initialize pro
- java解释样式表(配合jsoup使用过滤 expression等xss)