排序复习
文章平均质量分 51
zxf13717561643
这个作者很懒,什么都没留下…
展开
-
归并排序
// 归并排序,理解起来不是特别难,只是代码修改的让我头疼,足足找了两个多小时才找到错误。 // 归并排序 #include #include using namespace std; // 对归并排序的整体理解,就是把数组不停的分割,直到分割成一个个的元素,然后再进行整合,整合的过程类似与一个倒置的二叉树 void Mersge( int * SR , in原创 2015-11-05 09:48:32 · 425 阅读 · 0 评论 -
快速排序
// 被称作当前速度最快的排序,当然只是当前,毕竟以后说不得会有更快的排序 // 快速跑徐不但快,理解起来也不难,并且主要代码也只有十几行,不得不赞一个 #include using namespace std; int Partion( int * arr , int low , int high){ int pivot = arr[low];原创 2015-11-05 10:13:22 · 380 阅读 · 0 评论 -
堆排序
#include using namespace std; void _swap(int* arr , int n1 , int n2){ int temp; temp = arr[n1]; arr[n1] = arr[n2]; arr[n2] = temp; } void HeadAdjust(int* arr , int len原创 2015-11-05 09:46:38 · 352 阅读 · 0 评论 -
希尔排序
// 希尔排序, 插入排序的升级版 void XiEr(int* arr , int length){ int i,j,increment,flag; increment = length; do{ // 跳跃分割的策略:减少待排序记录的个数 increment = increment/3+1; for( i原创 2015-11-05 09:41:41 · 507 阅读 · 0 评论 -
简单排序
#include #include using namespace std; // 简单排序,便利的事后标记最小的元素,如果有比当前i循环内的元素小得值,才进行交换操作. void JianDan(int *arr ,int length){ int i,j,min; // int leng = sizeof(*arr)/sizeof(arr);原创 2015-11-04 23:28:26 · 378 阅读 · 0 评论 -
插入排序
#include #include using namespace std; // 插入排序 void ChaRu(int *arr ,int length){ int flag; for(int i=1 ; i flag = arr[i]; if(arr[i] // for(int j=i-原创 2015-11-04 23:30:22 · 465 阅读 · 0 评论 -
冒泡排序
关于冒泡排序的实现,与改进,逻辑比较简单,未做太多注释,仅作记忆用 #include #include using namespace std; /// 冒泡排序优化版 。 数组 的 索引 从0开始,这里与后面的排序有不同 void MaoPao(int *arr ,int length){ int flag=1; for(int i=0;i原创 2015-11-04 23:24:02 · 512 阅读 · 0 评论