从字符串取出数值,并进行排序
来源:互联网 发布:粤语教程软件 编辑:程序博客网 时间:2024/05/17 05:14
题目:从一个字符串取出数值,并进行从小到大的排序
思路:利用正则表达式取数,利用希尔排序进行重排列
import java.util.Arrays;
import java.util.regex.Matcher;
/**
* @param args by gongxuesong
*/
private static int a,b;
public static int[] stringToInts(String s) {
int result[] = new int[s.length()];
for(int i=0;i<s.length();i++) {
result[i] =Integer.parseInt(s.substring(i, i+1));
}
return result;
}
public static int[] shellsort(int a[], int n)
{
int i, j, gap;
//希尔排序
for (gap = n / 2; gap > 0; gap /= 2)
for (i = gap; i < n; i++)
for (j = i - gap; j >= 0 && a[j] > a[j + gap]; j -= gap)
{
a[j]^=a[j+gap];
a[j+gap]^=a[j];
a[j]^=a[j+gap];
}
return a;
}
static String str="Gongxuesong is a pretty boy! 另外,国庆节是1991年10月1日哦";
public static void main(String[] args) {
// TODO Auto-generated method stub
Matcher m = Pattern
.compile("\\d", Pattern.CASE_INSENSITIVE|Pattern.MULTILINE)
.matcher(str);
String s="";
while(m.find()) {
s = s +m.group();
}
System.out.println();
for(int i=0;i<s.length();i++) {
System.out.print(shellsort(stringToInts(s), s.length())[i]+"");
}
}
}
思路:利用正则表达式取数,利用希尔排序进行重排列
import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @param args by gongxuesong
*/
private static int a,b;
public static int[] stringToInts(String s) {
int result[] = new int[s.length()];
for(int i=0;i<s.length();i++) {
result[i] =Integer.parseInt(s.substring(i, i+1));
}
return result;
}
public static int[] shellsort(int a[], int n)
{
int i, j, gap;
//希尔排序
for (gap = n / 2; gap > 0; gap /= 2)
for (i = gap; i < n; i++)
for (j = i - gap; j >= 0 && a[j] > a[j + gap]; j -= gap)
{
a[j]^=a[j+gap];
a[j+gap]^=a[j];
a[j]^=a[j+gap];
}
return a;
}
static String str="Gongxuesong is a pretty boy! 另外,国庆节是1991年10月1日哦";
public static void main(String[] args) {
// TODO Auto-generated method stub
Matcher m = Pattern
.compile("\\d", Pattern.CASE_INSENSITIVE|Pattern.MULTILINE)
.matcher(str);
String s="";
while(m.find()) {
s = s +m.group();
}
System.out.println();
for(int i=0;i<s.length();i++) {
System.out.print(shellsort(stringToInts(s), s.length())[i]+"");
}
}
}
0 0
- 从字符串取出数值,并进行排序
- jsp从固定类型的字符串中取出多个数值并转化为float型
- 对字符串中的数值进行大小排序
- c 语言 从字符串中取出一串单词并倒序
- MySQL取出数字字符串的一部分,然后按照数值大小排序
- java取出字符串前面数值的方法
- JAVA-从题目看算法,将输入字符串进行排序并输出
- 一个字符串既含有字母又含有数字且字母和数字随意排列如何取出其中所有的数字并进行排序
- java 使用TreeSet将字符串中的数值进行排序
- 从一个文件中取出一段字符串,与原有的字符串进行连接
- 输出字符串中的数字 并进行排序
- 找到匹配的字符串并进行排序
- 从有“,”分隔的字符串中取出被分隔的字符串并存储
- 从字符串中取出数字
- 从字符串中取出素数
- Java实现从m个各不相同的元素中取出n个,并进行全排列。
- Java实现从m个各不相同的元素中取出n个,并进行全排列
- 处理以下文件内容,将域名取出并进行计数排序
- mysql 安装
- 算法学习----红黑树
- <数据结构> 第二章 线性表之循环链表的代码粗实现
- print %r
- ALSA音频驱动研究(二)
- 从字符串取出数值,并进行排序
- hdu-1233
- 第9周项目——3个星号图(一)
- MAX II内部震荡时钟使用实例
- vsftp,做一个文件传输服务器和客户端程序
- iOS 7人机交互指南译文汇总
- 【Processing入门】第二章:使用Processing
- 第19章 认识与分析登录档
- 师傅又被妖怪抓走了