一、
一组乱序的字符序列m、b、p、f、a、u、z,请用冒泡排序算法,使之按字母表顺序排列
public class HomeWork1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
char[] word= {'m','b','p','f','a','u','z'};
int len=word.length;
for(int i=0;i<len;i++) {
boolean flag=false;//true为有交换 false为没有交换
for(int j=0;j<len-i-1;j++) {
if(word[j]>word[j+1]) {
char temp=word[j];
word[j]=word[j+1];
word[j+1]=temp;
flag=true;//有交换继续执行;
}
}
if(!flag) {
break;//没有交换程序终止
}
}
for(int a:word) {
System.out.print(a+" ");
}
}
}
二、
一组有序的字符序列a、b、c、e、f、p、u、z,向次字符序列中插入一个新的字符,要求插入之后字符序列仍保持有序
public class HomeWork2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
char[] word= {'a','b','c','e','f','p','u','z','0'};
char word1='x';
int len=word.length;
int index=len-1;
for(int i=0;i<len;i++) {//确定插入点的位置
if(word[i]>word1) {
index=i;
break;
}
}
for(int i=index;i<len-1;i++) {
word[i+1]=word[i];
}
word[index]=word1;
for(char a:word) {
System.out.print(a+" ");
}
}
}
三、
判断一个数组是否有序
public class HomeWork3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] num= {99,88,53,45,23,12};
int len=num.length;
boolean flag=false;//有交换为true,未交换为false
for(int i=0;i<len;i++) {
for(int j=0;j<len-i-1;j++) {
if(num[i]>num[i+1]) {
int temp=num[i+1];
num[i+1]=num[i];
num[1]=temp;
flag=true;//有交换
}
}
}
if(!flag){
System.out.println("是一个有序数组");;
}else {
System.out.println("不是一个有序数组");
}
}
}