排序
李逝水
这个作者很懒,什么都没留下…
展开
-
冒泡排序
void QP(int A[],int n) //优化的冒泡排序 { int count=0,t,flag; for(int i=0;i<n-1&&flag;i++) { flag=0; for(int j=0;j<n-i;j++) { if(A[j+1]<A[j])原创 2013-09-30 22:49:48 · 430 阅读 · 0 评论 -
稳定排序和不稳定排序
稳定排序和不稳定排序 这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。 首先,排序算法的稳定转载 2013-10-01 19:40:27 · 543 阅读 · 0 评论 -
/*希尔排序算法*/
/*希尔排序算法*/ void ShellInsert( Sqlist &L , int dk ) //实现插入操作 { /*L为链表,dk为递增序列*/ for( i = dk + 1 ; i <= L.length() ; i ++ ) if(LT(L.r[i].key , L.r[i-dk]).key){ L.r[0] = L.r[i] ; for( j =原创 2013-10-01 19:20:43 · 571 阅读 · 0 评论 -
计数排序
#include using namespace std ; #define N 10 #define inf -100000000 void count_sort(int a[] , int b[] , int k ) { int i , c[9]; for( i = 0 ; i <= k ; i ++) c[i] = 0 ; for( i = 0 ; i < N原创 2013-12-18 10:53:24 · 520 阅读 · 0 评论 -
基数排序
int maxbit(int data[],int n) //辅助函数,求数据的最大位数 { int d = 1; //保存最大的位数 int p =10; for(int i = 0;i < n; ++i) { while(data[i] >= p) { p *= 10; ++d; } } return d; } void radi转载 2013-12-18 11:09:52 · 510 阅读 · 0 评论