十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
冒泡排序算法:
沙坡头网站建设公司成都创新互联公司,沙坡头网站设计制作,有大型网站制作公司丰富经验。已为沙坡头成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的沙坡头做网站的公司定做!
int类型的数组:3 1 6 2 5
第一次循环:
1 3 6 2 5
1 3 6 2 5
1 3 2 6 5
1 3 2 5 6
第二次循环:
1 3 2 5
1 2 3 5
1 2 3 5
第三次循环:
1 2 3
1 2 3
。。。
算法:取出最大的放在最后,下次就不用比较最后一个了。*/
public class BubbleSort{
public static void main(String[] args){
int[] a = {3,1,6,2,5};
//开始排序
for(int i=a.length-1;i0;i--){
for(int j=0;ji;j++){
if(a[j]a[j+1]){
//交换位置
int temp;
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
//遍历
for(int i=0;ia.length;i++){
System.out.println(a[i]);
}
}
}
/**
*des:冒泡排序算法的一般性策略:搜索整个值列,比较相邻元素,如果两者的相对次序不对,
*则交换它们,其结果是最大值“想水泡一样”移动到值列的最后一个位置上,
*这也是它在最终完成排序的值列中合适的位置。
*然后再次搜索值列,将第二大的值移动至倒数第二个位置上,重复该过程,直至将所有元素移动到正确的位置上。
*2014-4-9-zbl
**/
public class BubbleSort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Comparable []a={4,9,23,1,45,27,5,2};
bubbleSort1(a);
Comparable []b={4,9,23,1,45,27,5,2};
bubbleSort2(b);
int []c={4,9,23,1,45,27,5,2};
bubbleSort3(c);
}
public static void bubbleSort3(int []data)
{
int temp;
for (int i = 0; i data.length; i++) {
int flag = 0;
for (int j = 0; j data.length-i-1; j++) {
if (data[j]data[j+1]) {
temp=data[j];
data[j]=data[j+1];
data[j+1]=temp;
flag = 1;
}
}
if(flag==0)break;
System.out.print("第"+i+"遍:{");
for (int k = 0; k data.length; k++) {
System.out.print(data[k]+",");
}
System.out.println("}");
}
}
public static void bubbleSort1(Comparable []data)
{
Comparable temp;
for (int position = data.length-1; position =0; position--) {
int flag = 0;
for (int scan = 0; scan position; scan++) {
if(data[scan].compareTo(data[scan+1])0){
temp = data[scan];
data[scan] = data[scan+1];
data[scan+1] = temp;
flag = 1;
}
}
if (flag==0) {
break;
}
System.out.print("第"+position+"遍:{");
for (int i = 0; i data.length; i++) {
System.out.print(data[i]+",");
}
System.out.println("}");
}
}
public static void bubbleSort2(Comparable []data)
{
Comparable temp;
for (int position = 0; position data.length-1; position++) {
int flag = 0;
for (int scan = 0; scan data.length-1-position; scan++) {
if(data[scan].compareTo(data[scan+1])0){
temp = data[scan];
data[scan] = data[scan+1];
data[scan+1] = temp;
flag = 1;
}
}
if (flag==0) {
break;
}
System.out.print("第"+position+"遍:{");
for (int i = 0; i data.length; i++) {
System.out.print(data[i]+",");
}
System.out.println("}");
}
}
}
纯手工,随意写的,希望对你有帮助!!
public class MaoPao{
//定义一个整形数组
int[] a = new int[10];
//中间数
int flag = 0;
//g给数组赋值
a = {14,12,21,52,36,78,45,31,33,98};
//判断
for(int i=0;ia.length;i++){
for(int j=i+1;ia.length;i++){
//交换位置,最大的放第一个
if(a[i]a[j]){
flag = a[i];
a[i] = a[j];
a[j] = a[i];
}
}
}
//输出数组
for(int i=0;ia.length;i++){
System.out.println(a[i]);
}
}