作业一
源代码
package Works;
public class Work1 {
public static void main(String[] args) {
// 一组乱序的字符序列m、b、p、f、a、u、z,请用冒泡排序算法,使之按字母表顺序排列
char[] nums;
nums=new char[] {'m','b','p','f','a','u','z'};
boolean flag =true;
for(int i=0; i<nums.length-1;i++) {
for(int j=0; j<nums.length-i-1;j++) {
if (nums[j]>nums[j+1]) {
char temp = nums[j+1];
nums[j+1]=nums[j];
nums[j]=temp;
flag =false;
}
}
if(flag) {
break;
}
}
for(char n: nums) {
System.out.print(n+" ");
}
}
}
运行结果
作业二
源代码
package Works;
public class Work2 {
/**
* 2、一组有序的字符序列a、b、c、e、f、p、u、z,向次字符序列中插入一个新的字符,要求插入之后
* 字符序列仍保持有序
*/
public static void main(String[] args) {
//建一个比这个字符序列多一个字符的数组并按序插入,数组末尾定义一个空值
char[] chrs = {'a','b','c','e','f','p','u','z','0'};
int len = chrs.length;
for(char m:chrs) {
System.out.print(m+" ");
}
System.out.print("\n ");
int n=0;
char insert='i';
for (int i = 0; i < len - 2;i++) {//循环控制一个数据与其他数据比较
if(insert<chrs[i]) {//判断需插入的位置
n=i;
break;//判断出需插入的位置后跳出循环
}
}
for(int j =len - 2 ;j >=n;j--) { //把需要插入的位置后的数据
chrs[j+1]=chrs[j];
}
chrs[n]=insert;
for(char m:chrs) {
System.out.print(m+" ");
}
}
}
运行结果