算法设计与分析:第二章 递归 2.1计数排序之统计数对
来源:互联网 发布:java如何打war包 编辑:程序博客网 时间:2024/06/05 12:08
/*统计数对:输入N(2<=N<=100)个数字(在0与9之间),然后统计出这组数中相邻数字组成的数字对出现的次数算法思路:采用一个二维数组A[11][11]的相邻数对信息,输入:20(表示要输入的数的数目)0 1 5 9 8 7 2 2 2 3 2 7 8 7 8 7 9 6 5 9输出:*//*关键:1计数排序不仅仅可以适用于一维数组,二维数组也是可以的2最主要是将下标和输出的值之间建立某种关系*/#include <stdio.h>#include <string.h>#include <math.h>const int MAXSIZE = 10000;const int MAXN = 11;int g_numPair[MAXN][MAXN];void printNumPair(){for(int i = 0 ; i < MAXN ; i++){for(int j = 0 ; j < MAXN ; j++){if(g_numPair[i][j]){printf("(%d, %d) = %d",i,j,g_numPair[i][j]);//if(g_numPair[j][i])//{//printf("(%d, %d) = %d",j,i,g_numPair[i][j]);//}printf("\n");}}}}void statNumPair(int* pArr,int iLen){if(!pArr || iLen <= 0){return;}memset(g_numPair,0,sizeof(g_numPair));int iFirstNum ,iSecondNum;for(int i = 1 ; i < iLen ; i++){iFirstNum = pArr[i-1];iSecondNum = pArr[i];if(abs(iFirstNum - iSecondNum) == 1){g_numPair[iFirstNum][iSecondNum]++;}}}void process(){int n;int iArr[MAXSIZE];while(EOF != scanf("%d",&n) ){if(n <= 0){break;}for(int i = 0 ; i < n ; i++){scanf("%d",&iArr[i]);}statNumPair(iArr,n);printNumPair();}}int main(int argc,char* argv[]){process();getchar();return 0;}
0 0
- 算法设计与分析:第二章 递归 2.1计数排序之统计数对
- 算法设计与分析:第二章 递归 2.6基于递归的插入排序
- 算法--计数排序与统计计数排序
- 算法设计与分析:第二章 递归 2.2买商品
- 算法设计与分析:第二章 递归 2.7全排列
- 算法设计与分析:第二章 递归 2.5斜数组之找规律
- 算法设计与分析基础-7.1、分布计数排序
- 算法设计与分析 合并排序的递归实现算法
- 算法设计与分析 快速排序的递归实现算法
- 算法设计与分析:第二章 递归 2.4报数退圈游戏
- 算法设计与分析:第二章 递归 2.7多项式求值问题
- 算法分析之——计数排序
- 算法设计与分析之递归与分治策略
- 合并排序/归并排序(递归与分治)-算法设计与分析
- 算法设计与分析:第二章 递归 2.3使x^2为一个各位数字互不相同的九位数
- 常用排序算法之计数排序,基数排序与桶排序
- 算法分析与设计---排序
- 《数据结构与算法分析》笔记------第二章、对分查找
- 算法设计与分析:第一张 算法分析介绍 1.3逻辑推理之谁能预测分数
- libgdx常用网站
- [leetcode 70]Climbing Stairs
- AVL树(模板题)—— POJ 3481 Double Queue
- java多线程3--synchronized
- 算法设计与分析:第二章 递归 2.1计数排序之统计数对
- 正则表达式
- KMP模式匹配算法
- Spring源码学习-3.IoC.资源的加载与注册
- 算法设计与分析:第二章 递归 2.2买商品
- C#隐私信息(银行账户,身份证号码,名字)中间部分特殊字符替换(*)
- Argument 'xxx' is not a function, got undefined,初学Angular的第一个坑
- 公平锁 轻量锁
- error: WatchKit App doesn't contain any WatchKit Extensions whose WKAppBundleIdentifier matches "***