java
(1) 内容:用main方 法排序(按首字母或按字符串长度)
(2)要求:①输出原数组和排序后的数组
②若有“,”“.”不能进行排序,并将不符合排序要求的数组打印出来
③不能用API,可用选择、冒泡、快速
4.必须用args数组
那你就用冒泡排序啊
声明数组
int[] a = new int[]{x,y,z,...}
for (int i = 1; i for (int j = 0; j if(a[j]>a[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
//循环遍历数组
for (int n:a
) {
System.out.print(n+"\t");
}
class Untitled {
public static void main(String[] args) {
int num;
System.out.println("请输入数组元素长度:");
Scanner in=new Scanner(System.in);
num=in.nextInt();
System.out.println("请输入字符串:");
String str[]=new String[num];
for(int count=0;count<num;count++)
{
str[count]=in.next();
}
in.close();
System.out.println("before sorting:");
int c = 0;
for (int i = 0; i < num; i++)
{
if (str[i].contains(",")
|| str[i].contains("."))
c++;
System.out.println(str[i]);
}
for (int i = 0; i < num - 1; i++)
{
int min = i;
for (int j = i + 1; j < num; j++)
{
if (str[min].contains(",")
|| str[min].contains("."))
min = j;
else if (str[j].compareTo(str[min]) < 0 && !str[j].contains(",")
&& !str[j].contains("."))
min = j;
}
if (min != i)
{
String t = str[i];
str[i] = str[min];
str[min] = t;
}
}
System.out.println("after sorting:");
for (int i = 0; i < num - c; i++)
System.out.println(str[i]);
System.out.println("invalid items:");
for (int i = num - c; i < num; i++)
System.out.println(str[i]);
}
}
在排序的过程中可以自己加一个数据过滤的功能,把数据筛选分类存储到集合容器中;
冒泡与快排文章贡献:https://blog.csdn.net/hu_belif/article/details/83627130
希望能解决您的问题。