桶排序(第8章:线性时间排序)
来源:互联网 发布:淘宝客服联系方式 编辑:程序博客网 时间:2024/06/06 03:28
#include "Link_List.h"#define Length 10/*桶排序的算法,其中对链表的排序采用的是冒泡*/void main(){ double A[Length]; int i,j,k; LinkList B[Length],p;/*产生一个值为0到1之间的长度为Length的随机数组*/ srand((unsigned int)time(NULL)); for (i=0;i<Length;i++) A[i]=(double)rand()/RAND_MAX; for(i=0;i<Length;i++) printf("%f ",A[i]); printf("\n");/*初始化链表B*/ for(i=0;i<Length;i++)if(InitList(&B[i])!=0) break;for(i=0;i<Length;i++)if(ClearList(&B[i])!=0) break; /*将数据输入到各个桶中*/for(i=0;i<Length;i++) if(ListInsert(&B[(int)(A[i]*Length)],1,A[i])!=0)break;/*对各个桶中的数据进行显示*/for(i=0;i<Length;i++){printf("B[%d]=",i);ListTraverse(B[i]); printf("\n");}printf("\n\n");// sort_insert(&B[0]);// sort_insert(&B[1]);/*对各个桶中的数据进行排序(冒泡)*/ for(i=0;i<Length;i++)if(ListLength(B[i])!=0)sort_insert(&B[i]);/*对各个桶中的数据进行显示*/for(i=0;i<Length;i++){printf("B[%d]=",i);ListTraverse(B[i]);printf("\n");} j=0;/*依次将各桶的数据导入到数组A[]中.*/for (i=0;i<Length;i++){ k=ListLength(B[i]);printf("K[%d]=%d \n",i,k);if(k!=0){p=B[i]->next;while(p!=NULL){A[j]=p->data;p=p->next;j=j+1;} } } for(i=0;i<Length;i++)printf("%f ",A[i]); printf("\n");}
0 0
- 桶排序(第8章:线性时间排序)
- 计数排序(第8章线性时间排序)
- 算法导论 第8章 线性时间排序(计数排序、基数排序、桶排序)
- 第8章:线性时间排序
- 第 8 章 线性时间排序
- 算法导论学习笔记-第8章 线性时间排序
- 算法导论代码 第8章 线性时间排序
- 算法导论 第8章 线性时间排序
- 算法导论第8章线性时间排序答案
- 算法导论 第8章 线性时间排序 C++实现
- 算法导论第8章—线性时间排序
- 算法导论第8章:线性时间排序
- 算法导论:第8章 线性时间排序__基数排序
- 《算法导论》第8章 线性时间排序 个人笔记
- 算法导论 第8章 线性时间排序-计数排序的原址排序
- 《算法导论》第8章 线性时间排序 (1)计数排序
- 算法导论:第8章 线性时间排序__计数排序
- 第八章线性时间排序之“桶排序BUCKET-SORT”
- Spring在web.xml请求中定义编码(org.springframework.web.filter.CharacterEncodingFilter)
- 在 Linux 和 Windows 上安装 PHP 和 Oracle Instant Client
- Android 混淆代码总结
- 记录自己的代码生涯
- Flex实例【Shangle.net】解析【五】
- 桶排序(第8章:线性时间排序)
- ajax不执行success回调而是执行了error回调
- Linux slab 分配器剖析
- 蚁群算法求解TSP问题
- 屌丝程序员寻爱记(一)
- DX中关于error C2664: “ID3DXEffect::SetMatrix”: 不能将参数 1 从“const char [17]”转换为“D3DXHANDLE”
- qt5 json使用
- 浮点转定点算法-加法运算
- CC-Mode使用