`
梦潇寒
  • 浏览: 2328 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

计算字符串中每个字母重复次数,按照次数排序输出。。。运用简单的二维数组冒泡排序

阅读更多
public void testPX() {
String str = "asd你klfjkl;3你sdjfkl你jakljf你weir3i你2ujzxklnv你";
HashMap map = new HashMap();

while (str.length() != 0) {
String key = String.valueOf(str.charAt(0));
String newstr = str.replaceAll(key, "");
int times = str.length() - newstr.length();
map.put(key, times); // 把字符串--次数放入
str = newstr;
}

Set keys = map.keySet(); // 取出所有字符串
Iterator it = keys.iterator(); // 迭代器
String arr[][] = new String[keys.size()][2];
while (it.hasNext()) { // 遍历
for (int a = 0; a < arr.length; a++) {
String s = (String) it.next();
arr[a][0] = s;
arr[a][1] = "" + map.get(s) + "";
}
}
String temp;
String temp1;
for (int a = 1; a < arr.length; a++) {
for (int b = 0; b < arr.length - a; b++) {
if (Integer.parseInt(arr[b][1]) < Integer
.parseInt(arr[b + 1][1])) {
temp = arr[b][0];
temp1 = arr[b][1];
arr[b][0] = arr[b + 1][0];
arr[b][1] = arr[b + 1][1];
arr[b + 1][0] = temp;
arr[b + 1][1] = temp1;
}
}
}

for (int i = 0, len = arr.length; i < len; i++) {

System.out.println(arr[i][0]+"\t"+arr[i][1]);
}
}

希望大家看一下有什么可以该进的地方??这是一个面试题。
0
0
分享到:
评论

相关推荐

    javascript入门笔记

    1、从弹框中,分两次输入两个数字,分别保存在 a 和 b中 2、如果 a 大于 b的话 ,则交换两个数字的位置 使用 短路&&,扩展赋值运算符,位运算 4、条件运算符(三目运算) 单目(一元)运算符 :++,--,! 双目(二元)...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例043 将二维数组中的行列互换 53 实例044 利用数组随机抽取幸运观众 54 实例045 用数组设置JTable表格的列名与列宽 55 3.2 数组操作 57 实例046 数组的下标界限 57 实例047 按钮控件数组实现计数器界面 58 实例...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例100 使用冒泡排序法对一维数组进行排序 118 实例101 使用快速排序法对一维数组进行排序 119 实例102 使用直接插入法对一维数组进行排序 121 实例103 使用希尔排序法对一维数组进行排序 122 实例104 使用Sort方法...

    c/c++ 学习总结 初学者必备

    23、编写gbk_strlen函数,计算含有汉字的字符串的长度,汉字作为一个字符处理;已知:汉字编码为双字节,其中 参数里涉及指针,就要考虑该指针是不是一个需要修改的量,如果是,则参数应采用指向指针的指针。 (C语言里...

    Linux高级bash编程

    每个[list]元素带两个参数的for循环 10-3. 文件信息:对包含在变量中的文件列表进行操作 10-4. 在for循环中操作文件 10-5. 在for循环中省略[list] 10-6. 使用命令替换来产生for循环的[list] 10-7. 对于二进制文件的...

    数据结构题

    15. 若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 16. 对n个记录的文件进行快速...

    Advanced Bash-Scripting Guide <>

    简单字符串匹配 10-28. 检查是否是字母输入 10-29. 用select 来创建菜单 10-30. 用函数中select 结构来创建菜单 11-1. 一个fork 出多个自己实例的脚本 11-2. printf 11-3. 使用read,变量分配 11-4. 当使用一个不带...

    达内 coreJava 习题答案

    其中a为1至9之中的一个数,项数也要可以指定。 import java.util.Scanner; class Multinomial{ public static void main(String[] args){ int a; //定义输入的 a int howMany; //定义最后的一项有多少个数字 ...

Global site tag (gtag.js) - Google Analytics