基于visual Studio2013解决算法导论之012计数排序
生活随笔
收集整理的這篇文章主要介紹了
基于visual Studio2013解决算法导论之012计数排序
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目
計(jì)數(shù)排序
解決代碼及點(diǎn)評(píng)
#include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <time.h> #define N 5 void PrintArr(int *pnArr, int nLen) {for (int i = 0; i < nLen; i++){printf("%d ", pnArr[i]);}printf("\n"); }void Swap(int *p1, int *p2) {int nTmp = *p1;*p1 = *p2;*p2 = nTmp; }int Digit(int nNum, int w) {int nTmp = 1;for (int i = 0; i < w - 1; i++){nTmp *= 10;}return (nNum / nTmp) % 10; }void RadixSort(int* pDataArray, int iDataNum, int w) { int i;int *radixArrays[10]; //分別為0~9的序列空間 for (i = 0; i < 10; i++) { radixArrays[i] = (int *)malloc(sizeof(int) * (iDataNum + 1)); radixArrays[i][0] = 0; //index為0處記錄這組數(shù)據(jù)的個(gè)數(shù) } for (int pos = 1; pos <= w; pos++) //從個(gè)位開始到百位 { for (int i = 0; i < iDataNum; i++) //分配過程 { int num = Digit(pDataArray[i], pos); int index = ++(radixArrays[num][0]); radixArrays[num][index] = pDataArray[i]; } int j;for (i = 0,j =0; i < 10; i++) //收集 { for (int k = 1; k <= radixArrays[i][0]; k++) {pDataArray[j++] = radixArrays[i][k]; }radixArrays[i][0] = 0; //復(fù)位 } PrintArr(pDataArray, iDataNum);} } void RandomedArr(int *pnArr, int nLen) {srand(time(NULL));for (int i = 0; i < nLen; i++){int nIndex = rand()%(nLen -i + 1) +i;Swap(&pnArr[i], &pnArr[nIndex]);} }int main() {int nArr[N] = {0}; srand(time(NULL));for(int i = 0; i < N; i++){nArr[i] = rand()%1000;}RadixSort(nArr, N, 5);PrintArr(nArr, N);system("pause");return 0; }代碼下載及其運(yùn)行
代碼下載地址:http://download.csdn.net/detail/yincheng01/6858815
解壓密碼:c.itcast.cn
下載代碼并解壓后,用VC2013打開interview.sln,并設(shè)置對(duì)應(yīng)的啟動(dòng)項(xiàng)目后,點(diǎn)擊運(yùn)行即可,具體步驟如下:
1)設(shè)置啟動(dòng)項(xiàng)目:右鍵點(diǎn)擊解決方案,在彈出菜單中選擇“設(shè)置啟動(dòng)項(xiàng)目”
2)在下拉框中選擇相應(yīng)項(xiàng)目,項(xiàng)目名和博客編號(hào)一致
3)點(diǎn)擊“本地Windows調(diào)試器”運(yùn)行
程序運(yùn)行結(jié)果
轉(zhuǎn)載于:https://www.cnblogs.com/niulanshan/p/6175056.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的基于visual Studio2013解决算法导论之012计数排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抗美援朝老兵家属考文职加分吗
- 下一篇: 电脑开不了机怎么一键还原系统 电脑无法启