算法导论第八章伪码转C++_计数排序
来源:互联网 发布:橘子说淘宝装修工具箱 编辑:程序博客网 时间:2024/05/19 01:08
#include<iostream>
#include"lei.h"
#include<cstdlib> // random used
using namespace std;
void ShowArray(int A[],int n)
{
cout << "result is :" << endl;
for (int i = 0; i < n ; i++)
cout << A[i] << " ";
cout << endl;
}
void CountingSort(int A[],int B[],int k,int n)
{
//P109
int* C = new int[k + 1]; //dif
for (int i = 0 ; i < (k+1); i++) //dif
C[i] = 0;
for (int j = 0; j < n ; j++)
C[A[j]] = C[A[j]] + 1;
for (int i = 1; i < (k + 1); i++)//dif
C[i] = C[i] + C[i-1];
for (int j = n - 1; j >= 0; j--)
{
B[C[A[j]] - 1] = A[j];
//这里阻碍了我好久,C[]计数个数是从1开始的,而B[]是从0开始的
C[A[j]] = C[A[j]] - 1;
}
delete[] C;
}
int main()
{
int A[10] = {16,4,10,14,7,9,3,2,8,1};
int B[10] = {};
CountingSort(A,B,20,10);
ShowArray(B,10);
}
#include"lei.h"
#include<cstdlib> // random used
using namespace std;
void ShowArray(int A[],int n)
{
cout << "result is :" << endl;
for (int i = 0; i < n ; i++)
cout << A[i] << " ";
cout << endl;
}
void CountingSort(int A[],int B[],int k,int n)
{
//P109
int* C = new int[k + 1]; //dif
for (int i = 0 ; i < (k+1); i++) //dif
C[i] = 0;
for (int j = 0; j < n ; j++)
C[A[j]] = C[A[j]] + 1;
for (int i = 1; i < (k + 1); i++)//dif
C[i] = C[i] + C[i-1];
for (int j = n - 1; j >= 0; j--)
{
B[C[A[j]] - 1] = A[j];
//这里阻碍了我好久,C[]计数个数是从1开始的,而B[]是从0开始的
C[A[j]] = C[A[j]] - 1;
}
delete[] C;
}
int main()
{
int A[10] = {16,4,10,14,7,9,3,2,8,1};
int B[10] = {};
CountingSort(A,B,20,10);
ShowArray(B,10);
}
0 0
- 算法导论第八章伪码转C++_计数排序
- 算法导论第八章伪码转C++_基数排序
- 算法导论第八章—计数排序
- 【算法导论】第八章之计数排序
- 算法导论第八章 -- 计数排序
- 算法导论-第八章-计数排序
- 算法导论-第八章-计数排序
- 算法导论第八章(计数排序)
- 算法导论_计数排序学习笔记
- 算法导论第八章计数排序-基数排序-桶排序-c++
- 算法导论 第八章计数排序(counting sort)
- 算法导论第八章__实现计数排序
- 学习《算法导论》第八章 计数排序 总结
- 算法导论C语言实现: 计数排序
- 算法导论-计数排序-C语言
- 算法导论计数排序实现(C++)
- 算法导论_第八章_线性时间排序
- 算法导论 计数排序
- ios 深浅拷贝学习
- 为什么服务器不回复部分SYN_ACK报文:(back_log)
- 【ThinkingInC++】69、异常处理
- android 自定义Dialog去除黑色边框
- csuoj 1339 最后一滴血
- 算法导论第八章伪码转C++_计数排序
- dfhdf
- XDCTF coding200
- Android NDK开发入门
- 初步了解C++命名空间(加了继承)
- Sort List[leetcode] 由归并排序的递归和循环,到本题的两种解法
- 嵌入式 修改u-boot与Linux调试串口以及文件系统显示终端串口
- 算法导论第八章伪码转C++ __桶排序
- [2-SAT] poj 3678 Katu Puzzle