冒泡排序概述和思路:
- 概述:
对要进行排序的数据中相邻的数据进行两两比较,较大的数据放在后面,依次对所有数据进行操作,直至所有数据要求完成排序 - 思路:
如果有n个数据进行排序,总共需要比较n-1次
每一次比较完毕,下一次的比较就会减少一个数据参与
温习下StringBuilder与String之间转换
StringBuilder---------->String
利用public String toString();方法
StringBuilder s = new StringBuilder();
s.append("a").append("b").append("c");
String s1=s.toString();//关键之处
System.out.print(s1);
**输出的结果:**abc
冒泡排序代码(含有StringBuilder类的操作):
package CCom.Cnn;
public class Demo {
public static void main(String[] args) {
int[] arr={5,6,4,3,2,1};
int[] arr2=new Demo().m(arr);
System.out.println("输出内容:"+new Demo().toString(arr2));
}
public String toString(int[] arr) {
//利用StringBuilder类是为了防止地址和资源浪费,总之就是优化代码
StringBuilder s = new StringBuilder();//下标也从0开始
s.append("[");
for(int i=0; i<arr.length; i++){
if(i==arr.length-1){
s.append(arr[i]);
}else{
s.append(arr[i]+",");
}
}
s.append("]");
String ss=s.toString();//将StringBuild转化为String类型运用toString()方法
return ss;
}
public int[] m(int[] a){
int temp;//定义中间变量
for (int i=0;i<a.length-1;i++){
//外层循环选择第几个开始,最后一个不算
for (int j=0;j<a.length-i-1;j++){
//内层循环是前者与后者比较的对数,每比较一次就会结束前者的比较
if(a[j]>a[j+1]){//当前者大于后者
temp=a[j];
a[j] = a[j+1];
a[j+1]=temp;
}
}
}
return a;
}
}
输出的结果:
输出内容:[1,2,3,4,5,6]