C# 字符分割与出现次数统计
来源:互联网 发布:手机知乎如何关注话题 编辑:程序博客网 时间:2024/05/23 01:16
更进:http://blog.csdn.net/sam_jdk/article/details/77459327
题目:将字符串分割为单个字符,并统计字符出现的次数,最后降序打印
字符串格式:"619827129871214178"
输出格式:
6:1
1:5
9:2
8:3
2:3
7:3
4:1
个人代码如下:
/* * 缺点:1.二维数组资源存在浪费,即此方法不适合字符类别少,重复频度高的字符串 * 2.还是由于使用了string[,]二维数组,编码过程不直观,在int,string,char三个类型中转换 * 3.排序方法单一,相同频率的不同字符无法有效的排序 * 4.冒泡排序并非最合适的排序算法 */ public Char_Frequency() { //string text = "iownlmweujdysakdsecswsqwgcxvbnf"; string text = "619827129871214178"; //string text = "吃葡萄不吐葡萄皮不吃葡萄倒吐葡萄皮"; //string text = "没想到讨论最后"; char[] ar=text.ToCharArray(); int key=0; int j = 0; //二维数组,比较浪费资源,因为可能会存在空间没有使用完,可以用交错数组 string[,] arrs = new string[2, ar.Length]; for (int i = 0; i < ar.Length;i++ ) { //判定是否当前字符在arrs中存在 bool increase = true; //循环检查当前字符 for (j = 0; j < key; j++) { if (arrs[0,j] != null && arrs[0,j].Equals(ar[i].ToString())) { arrs[1,j]=(Convert.ToInt32(arrs[1, j]) + 1).ToString(); increase = false; } } //arrs新增当前字符 if (increase) { arrs[0, j] = ar[i].ToString(); arrs[1, j] = "1"; key++; } } //遍历 for (int i = 0; i < key;i++ ) { Console.WriteLine("{0}:{1}",arrs[0,i],arrs[1,i]); } Console.WriteLine("=========================="); //排序 bubblingSort(arrs, key); for (int i = 0; i < key; i++) { Console.WriteLine("{0}:{1}", arrs[0, i], arrs[1, i]); } Console.ReadKey(); } /// <summary> /// 冒泡排序 /// </summary> /// <param name="arr">数组</param> /// <param name="limit">截止位置</param> public void bubblingSort(string [,] arr,int limit) { string tmp=""; for (int i = 0; i < limit; i++) { for (int j = i; j < limit; j++) { int x = Convert.ToInt32(arr[1, i]); int y = Convert.ToInt32(arr[1, j]); if (x < y) { //交换数量 arr[1, i] = y.ToString(); arr[1, j] = x.ToString(); //交换字符 tmp=arr[0, i]; arr[0, i] = arr[0, j]; arr[0, j] = tmp; } } } }
阅读全文
0 0
- C# 字符分割与出现次数统计
- C#统计每个字符出现的次数
- 统计字符出现次数
- 统计字符出现次数
- C#统计字符串中字符出现的次数
- 统计出现字符的次数
- js统计字符出现次数
- 统计字符出现的次数
- 统计字符出现的次数
- Python统计字符出现次数
- C# 字符分割与统计_递进版
- 统计字符出现的次数和数字出现的次数
- 字符出现次数统计的删除算法
- 统计字符串每个字符出现的次数
- 统计指定字符出现的次数
- 统计ASCII 字符的出现次数
- 统计字符串中某个字符出现次数
- TreeMap实现统计字符出现次数
- C语言中自带的头文件(.h)所包含的函数
- HDU4815Little Tiger vs. Deep Monkey(01背包)
- publish over cifs实现windows远程部署
- BZOJ4237:稻草人 (CDQ分治+二分+单调栈)
- 2017年8月10号提高组T2 飞行
- C# 字符分割与出现次数统计
- 浅谈 EF CORE 迁移和实例化的几种方式
- layui通用单图上传的方法
- 微信屏蔽朋友圈、分享给朋友、隐藏“传播类”和“保护类”按钮 不引weixin.js
- epoll和select的区别
- ART Dalvik
- 好玩的线上检测代码工具-codewars(3)
- 《西瓜书》笔记11:特征选择方法(一)
- 笨办法学 Python · 续 练习 38:SQL 简介