
排序算法
最爱人间这四月天
你若喜欢怪人,其实我很美
展开
-
简单排序(冒泡(改进),交换排序,选择排序)
#include <stdio.h>#include <stdlib.h>#include<assert.h>#include<time.h>//count用来记录次数int count1 = 0;int count2 = 0;int count3 = 0;int count4 = 0;void Show(int *arr,int len){ for (int i = 0;原创 2016-07-04 23:02:34 · 548 阅读 · 0 评论 -
插入排序,希尔排序
#include <stdio.h>#include <stdlib.h>#include<assert.h>#include<time.h>//count用来记录次数int count1 = 0;int count2 = 0;int count3 = 0;void Show(int *arr,int len){ for (int i = 0; i < len; i++)原创 2016-07-06 22:45:09 · 305 阅读 · 0 评论 -
快速排序
#include <stdio.h>#include <stdlib.h>#include<assert.h>#include<time.h>//count用来记录次数int count1 = 0;int count2 = 0;int count3 = 0;void Show(int *arr,int len){ for (int i = 0; i < len; i++)原创 2016-07-07 14:18:18 · 428 阅读 · 0 评论 -
归并排序
#include <stdio.h>#include <stdlib.h>#include<assert.h>#include<time.h>void Show(int *arr,int len){ for (int i = 0; i < len; i++) { printf("%d ", arr[i]); } printf("\n");}v原创 2016-07-07 20:35:05 · 413 阅读 · 0 评论 -
堆排序
堆分为大根堆(双亲节点大于孩子节点)和小根堆(双亲节点小于孩子节点)一般用数组来表示堆。当一个节点的下标为i时,它的左右孩子下标为2*i+1,2*i+2由于我将进行从小到大的排序,因此我将使用的是大根堆。 此处我所将要进行的堆排序思路大致如下: 1)假设待排序数据元素有n个,那么我们就从n/2-1下标处开始倒着进行进行调整 2)当我们进行了n/2logn次调整之后,此时最大的值就在堆顶,交换堆原创 2016-09-02 17:10:22 · 359 阅读 · 0 评论