基数排序
来源:互联网 发布:淘宝女装上下架时间 编辑:程序博客网 时间:2024/06/03 15:41
#include <iostream>#include <list>using namespace std;int maxdigit(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 radixsort(int data[], int n){int digits = maxdigit(data,n);list<int> lists[10];int d,j,k,factor;for(d =1,factor=1; d<=digits; factor*=10,d++){for(j = 0; j < n; j++){lists[(data[j]/factor)%10].push_back(data[j]);}for(j = k =0;j<10;j++){while(!lists[j].empty()){data[k++] = lists[j].front();//这个是将自己建的list的头一个数值传输到原来的数据中,这里的【k++】【j++】都是指的下标,lists[j].pop_front(); // 这里是指将自己建的list的数据删除掉,}}//for(int m = 0; m < n; m++) // 这个for循环是将中间排序的结果输出的,//cout<< data[m] << " ";//cout << endl;}}int main(){int data[] = { 179,208,306,93,859,984,55,9,271,33 };radixsort(data,10);for(int i = 0; i < 10; i++)cout << data[i] << " ";cout << endl;return 0;}
0 0
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- R语言求解线性方程组
- Libgdx之Animation 动画
- Python学习
- 阻塞队列实现生产者消费者模式
- 判断两个链表是否相交,若相交,求交点。(假设链表不带环)(C语言)
- 基数排序
- const用法
- 判断两个链表是否相交,若相交,求交点。(假设链表可能带环)【升级版】(C语言)
- Oracle VM + centos7.1+openstack kilo 多结点安装教程---keystone的安装(2)
- 回文链表
- const常见用法
- 单向链表
- 求链表相交时的交点(C语言)
- Linux make 命令与 makefile 文件