【算法导论】用C++实现快速排序
来源:互联网 发布:互联网寒冬 知乎 编辑:程序博客网 时间:2024/05/21 17:02
本算法为【算法导论】7.1的C++实现,代码如下:
#include<iostream>void swap(int * a,int * b);int partition(int * array_list,int left,int right);void quick_sort(int * array_list,int left,int right);void Print();const int size = 8;int array_list [] ={2,8,7,1,3,5,6,4};int main(){quick_sort(array_list,0,size - 1);return 0;}void quick_sort(int * array_list,int left,int right){if(left >= right){return ;}int index = partition(array_list,left,right);quick_sort(array_list,left,index - 1);quick_sort(array_list,index + 1,right);}int partition(int * array_list,int left,int right){int index = left;int pivot = array_list[right];for(int i= left ; i< right; i++){if(array_list[i] < pivot){swap(&array_list[index],&array_list[i]);index ++;}}swap(&array_list[right],&array_list[index]);Print();return index;}void swap(int * a,int * b){int tmp = *a;*a = *b;*b = tmp;}void Print(){for(int i=0;i< size;i++){std::cout<<array_list[i]<<"\t";}std::cout<<std::endl;}运行结果为:
2 1 3 4 7 5 6 8
2 1 3 4 7 5 6 8
1 2 3 4 7 5 6 8
1 2 3 4 7 5 6 8
1 2 3 4 5 6 7 8
- 算法导论C语言实现: 快速排序
- 【算法导论】用C++实现快速排序
- 【算法导论】快速排序实现
- 算法导论快速排序实现
- 算法导论 - 快速排序的 C 语言实现
- 《算法导论》8、快速排序实现(C++)
- 算法导论中的快速排序C源码~
- 算法导论 之 快速排序[C语言]
- 算法导论-快速排序-C语言
- C++ 快速排序实现(算法导论)
- 快速排序(算法导论实现)
- 算法导论 - QuickSort 快速排序 C++实现
- 快速排序之算法导论实现
- 算法导论快速排序python实现
- 【算法导论】快速排序java实现
- 快速排序quicksort-算法导论java实现
- 算法导论之随机化快速排序实现
- 算法导论-快速排序
- jQuery 验证表单
- CDialog重载PreCreateWindow是无效的 -- MFC程序员要注意了...
- jQuery基础教程之强大的选择器(过滤选择器-内容过滤选择器)
- Navicat连接Oracle数据库失败,提示“unsupported server charset ZHS16GBK”的解决方法
- 使用YUI Compressor for .Net自动压缩JavaScript和CSS文件
- 【算法导论】用C++实现快速排序
- mysql存储引擎概述
- Linux下makefile教程
- linux fork函数浅析
- BP算法介绍
- c# - 如何将用户加入Administrators Group
- magento invalid backend model specified giftmessage entity attribute backend boolean config
- 关于float /double、string类型的hash函数/hash表实现
- 楊受成唔識劉浩龍:居心叵測!