/*
需求:冒泡排序的实现
思路:
1,冒泡排序的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。
2,大圈套小圈。
*/
class BubbleSort
{
//打印数组功能
public static void printArray(int[] arr)
{
System.out.print("[");
for(int i=0;i<arr.length;i++)
{
if(i!=arr.length-1)
System.out.print(arr[i]+",");
else
System.out.println(arr[i]+"]");
}
}
//冒泡排序功能
public static void bubble(int []arr)
{
for(int x=0;x<arr.length;x++)
{
for(int y=arr.length-1-1;y>=x;y--)
{
if(arr[y]>arr[y+1])
{
swap(arr,y,y+1);
}
}
}
}
//交换数据
public static void swap(int []arr,int a,int b)
{
int temp=arr[a];
arr[a]=arr[b];
arr[b]=temp;
}
public static void main(String[] args)
{
int [] arr={5,7,14,3,65,9};
printArray(arr);
bubble(arr);
printArray(arr);
}
}
/*
代码分析:如果待排序列为{5,6,7,8,9,10,11,12} 对于这种有序序列,没有必要大量进行比较。设置flag 标记,可以避免在有序情况下进行无意义的循环。
*/
优化如下:
//优化冒泡排序功能
public static void bubble(int []arr)
{
boolean flag=true;
for(int x=0;x<arr.length&&flag;x++)
{
flag=false;
for(int y=arr.length-1-1;y>=x;y--)
{
if(arr[y]>arr[y+1])
{
swap(arr,y,y+1);
flag=true;
}
}
}
}
分享到:
相关推荐
1冒泡排序 2改进的冒泡排序,在一次冒泡的过程中,如果没有发生交换,则已经有序 3进一步改进的冒泡排序,如果在某次冒泡过程中,最后一次进行交换的位置为flag,则表示flag之后的序列已经有序,那么下一次冒泡就...
用java 编写的冒泡排序算法,并涵盖了冒泡排序算法的几种优化方式,以及在冒泡排序上的二分查找法。
初学LabelView写的冒泡排序。 随机产生数组元素,并进行冒泡排序。
对冒泡排序法进行优化,比较的次数减少,效率提高
python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的...
冒泡排序的优化算法,减少时间和次数,引入布尔函数
冒泡排序C语言实现 冒泡排序C语言实现 冒泡排序C语言实现
VerilogHDL/VHDL开发之Verilog实现冒泡排序
自己刚刚开始学习排序算法,第一个排序算法:冒泡排序。以及在学习过程中做的一些笔记。
冒泡排序法C#实现冒泡排序法C#实现冒泡排序法C#实现冒泡排序法C#实现冒泡排序法C#实现冒泡排序法C#实现冒泡排序法C#实现冒泡排序法C#实现冒泡排序法C#实现冒泡排序法C#实现冒泡排序法C#实现冒泡排序法C#实现冒泡排序...
用php实现冒泡排序用php实现冒泡排序用php实现冒泡排序用php实现冒泡排序用php实现冒泡排序用php实现冒泡排序
选择排序、插入排序、冒泡排序以及快速排序和归并排序的C语言实现,绝对可用
js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序...
冒泡排序详解,简单而详细的讲清楚了,什么是冒泡排序。 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首...
C++实现冒泡排序,多层次,快速实现排序算法
上传了一个最近学到的冒泡排序法的优化写法,大家可自行查阅学习
合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序的C语言实现,原创。
数据结构(c语言版)严蔚敏 吴伟民编著 中直接插入排序、折半排序、shell排序、冒泡排序、快速排序、选择排序、堆排序的实现、归并排序,使用c语言实现
本文和大家分享一个基于C语言优化冒泡排序的核心代码。
C语言冒泡排序C语言冒泡排序C语言冒泡排序