java冒泡排序法代码-创新互联
- 排序是将一串数据按照其某个或者某些关键字的大小进行递增或递减排列的操作我,通常指的排序是升序,排序方式是原地排序
- 下面介绍下冒泡排序
冒泡排序
- 原理:在无序区间,通过相邻数的比较,将大的数冒泡到无序区间的最后,持续这个过程,直到数组整体有序
- 冒泡排序是一个稳定的排序
实现方式
public void bubbleSort(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
//定义标志位来判断待排序区间是否有序
boolean isSorted = true;
for (int j = 0; j < array.length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
swap(array, j, j + 1);
//只要发生交换说明待排序区间初始并不是有序
isSorted = false;
}
}
if(isSorted) {
break;
}
}
}
private void swap(int[] array, int i, int j) {
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
性能分析
- 时间复杂度:
- 最好的情况:待排序有序时,时间复杂度为O(N)
- 最坏的情况:待排序逆序时,时间复杂度为O(N^2)
- 平均情况:时间复杂度 为O(N^2)
- 空间复杂度:O(1)
- 稳定性:稳定
- 初始数据越接近有序,时间效率越高
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享标题:java冒泡排序法代码-创新互联
当前路径:http://ybzwz.com/article/dgchhp.html