如题,给出一个字符串,要求从中取出数字并排序。另外附上冒泡和选择排序算法。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
*
* @author Dream.YangLong
*
*/
public class ReadNumFromString {
private static String str="@123^3*4&7@89#2*5";
public static void main(String[] args) {
int a[];
a=separateNum(str);
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
/*
* 选择排序
* 两层循环,先找出最小的,再找出次小的,第三小的....
*/
public int[] sortSelect(int a[]){
int temp;
//外层循环,控制需比较数字起始位置
for (int i = 0; i < a.length-1; i++) {
//内层循环,控制比较次数
for (int j = i+1; j < a.length-i-1; j++) {
if(a[i]>a[j]){//用第一个位置上的数依次和后面的数比较,如果它大了,就将位置让给小的数,第一次选出最小的
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
return a;
}
/*
* 冒泡排序
* 第一次最后一个和它前面一个比较,小就交换位置
* 第二次倒数第二个和它前面一个比较,小就交换位置
* ...
*/
public int[] sortBall(int []a){//冒泡排序
int temp;
//控制冒泡轮数,第一轮选出最小的
for (int i = 0; i < a.length; i++) {
//控制冒泡结束位置
for (int j = a.length-1; j >i; j--) {
if (a[j] < a[j - 1]) {
temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
}
}
}
return a;
}
public static int[] separateNum(String str){//取数字
//str.toCharArray();
//在字符串后加不是数字的字符,让最后一位是数字的情况下可以得到正确的结果。
str+="$";
int[] num;
String s="";
List<String> list=new ArrayList<String>();
for (int i = 0; i < str.length(); i++) {
if(Character.isDigit(str.charAt(i))){//如果是数字并且不是最后一位
s+=str.charAt(i);
}else{
if(s!=""){
list.add(s);
s="";
}
}
}
num=new int[list.size()];
for (int i=0; i<list.size();i++) {
num[i]=Integer.parseInt(list.get(i));
}
Arrays.sort(num);
return num;
}
}
分享到:
相关推荐
一个java的字符串冒泡算法 字符串排序 字符串排序 字符串排序
某个二维数组存放了一系列的字符串,试利用排序的一些算法(如插入、冒泡、快速排序等)例如:二维数组的字符串如下: char s[][20]={“while”,”if”,“else”,”do”,“for”,”switch”,“case”,};
算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...
Java语言程序设计课件第四章 数组、字符串、向量和哈希表,参考教材是清华大学雍俊海编写的Java程序设计教程第3版
全排序、二分查找、冒泡排序、阶乘、最大公约数、最小公倍数、打印九九乘法表、判断素数、快速排序的递归实现和非递归实现、随机数、字符串操作、50人围成一圈,数到3和3的倍数的人出局,最后剩下的人是谁。...
编写一个Java程序,实现冒泡排序算法对一个整数数组进行排序。 编写一个Java程序,读取一个文本文件,并统计文件中每个单词的出现次数。 编写一个Java程序,实现一个简单的计算器,可以进行加、减、乘、除运算。 ...
3. 排序冒泡法 4. 求数组中最大的数和最小的数,并输出 5. 当前月的下一个月是上一月是 6. 三阶幻方 7. 判断回文 8. 判断两个字符串中相同位置上相等的字符 两个字符串中相同的字符,不重复 9. 判断数组是否相等 10...
2. 冒泡排序 3. 1~100共一百个自然数,放入一个只有99个元素的数组中,找出没有被放入数组的这个数; 4. 字符串的反转输出 5. 截取字符串, 如果该字符串是“abc我的”,当截取的字节数是3时候就是"abc',如果是4,...
15.Arithmetic.java 排序算法之冒泡 16.CompareObj.java 对象排序实现 17.SetAndList.java set的简单操作极其hashcode应用 18.Singleton.java java设计模式之单例模式 19.Factory.java 设计模式之工厂模式 20....
4.2.2 冒泡排序算法示例 102 4.3 选择排序法 104 4.3.1 选择排序算法 104 4.3.2 选择排序算法示例 105 4.4 插入排序法 107 4.4.1 插入排序算法 107 4.4.2 插入排序算法示例 108 4.5 Shell排序法 110 4.5.1 ...
7. 反转字符串:将给定的字符串反转,并打印反转后的结果。 8. 查找数组中的最大值:在给定的数组中找到最大的数,并打印结果。 9. 冒泡排序:对给定的整数数组进行冒泡排序,并打印排序后的结果。 10. 计算圆的面积...
我的计划是在 Java 中实现通用数据结构和算法作为实践。 我也希望这对任何想要学习/刷新非常基本的数据结构和算法的人来说都是有用的材料。 排序 冒泡排序 选择排序 插入排序 归并排序 快速排序 壳排序 计数排序 ...
02.字符串 03.树 04.哈希表 05.栈和队列 06.图 07.位运算 08.链表 程序基本输入输出 基础算法 返回目录 # English Title Chinese Title Solution 1 InB_ArrayAndNotInA_Array 找出在数组 B 中而不在数组 A 中的数 ...
LeetCode判断字符串是否循环编码挑战 算法 搜索 在线裁判 排序 冒泡排序 桶排序 梳状排序 计数排序 堆排序 插入排序 归并排序 快速排序 基数排序 选择排序 壳排序 视频 在线裁判 动态规划 视频 在线裁判 贪婪的 在线...
冒泡排序 选择排序 按奇偶排序数组 数组中第k个最大元素 最大间距 缺失的第一个正数 递归 复原IP地址 与所有单词相关联的字符串 数据结构 堆 根据字符出现频率排序 超级丑数 栈 棒球比赛 最大矩形 队列 设计循环队列...
如果是数字,我们可以直接比较,但如果是字符串或者两个对象呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。通常规定,对于两个元素x和y,如果认为x < y xss=removed> y,则返回1,...
从数组中查找缺失的数字 找到第二大值 求最小公数 查找最低、最高索引 向左移动零 基本 位移位 行分隔符 井字游戏 行分隔符 数据结构 比较器 枚举器 迭代器 排序图 堆 归并排序 集合框架 列表示例 设置示例 地图示例...
3.2冒泡排序算法 3.3 快速排序算法 3.4选择排序算法 3.5直接插入算法 3.6希尔排序算法 3.7 二分查找算法 3.8 二叉树 3.9 图的实现 3.10 生产者消费者的实现 3.11 银行家算法 3.12 KMP算法 3.13 RSA的实现 第4章 IO流...
问题:实现归并排序、快速排序、插入排序、冒泡排序、选择排序 问题:编程实现O(n)时间复杂度内找到一组数据的第K大元素 二分查找、散列表、字符串处理、二叉树、堆、图、回溯、分治、动态回归等。 资源中包括常用...
Java 该项目包含几个子模块,包括 Java POC - 使用我的示例说明的 Java 概念 ...字符串算法 迷宫问题 数据结构 - 不同数据结构的 Java 实现 动态规划 (DP) 实现 竞赛代码 1. TopCoder 2. HackerRank 设计模式实现