java冒泡排序法代码 (java冒泡排序)
本文目录导航:
java冒泡排序法代码
冒泡排序是比拟经典的排序算法。代码如下:
for(int i=1;i<;i++){for(int j=1;j<-i;j++){//替换位置}
拓展资料:
原理:比拟两个相邻的元素,将值大的元素替换至右端。
思绪:依次比拟相邻的两个数,将小数放在前面,大数放在前面。
即在第一趟:首先比拟第1个和第2个数,将小数放前,大数放后。
而后比拟第2个数和第3个数,将小数放前,大数放后,如此继续,直至比拟最后两个数,将小数放前,大数放后。
重复第一趟步骤,直至所有排序实现。
第一趟比拟实现后,最后一个数必定是数组中最大的一个数,所以第二趟比拟的时刻最后一个数不介入比拟;
第二趟比拟实现后,倒数第二个数也必定是数组中第二大的数,所以第三趟比拟的时刻最后两个数不介入比拟;
依次类推,每一趟比拟次数-1;
举例说明:要排序数组:int[]arr={6,3,8,2,9,1};
for(int i=1;i<;i++){for(int j=1;j<-i;j++){//替换位置}
参考资料:冒泡排序原理
冒泡排序java是?
冒泡排序算法:
int类型的数组:3 1 6 2 5
算法:取出最大的放在最后,下次就不用比拟最后一个了。*/
public class BubbleSort{
public static void main(String[] args){
int[] a = {3,1,6,2,5};
//开局排序
for(int i=-1;i>0;i--){
for(int j=0;j<i;j++){
if(a[j]>a[j+1]){
//替换位置
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
//遍历
for(int i=0;i<;i++){
算法原理
冒泡排序算法的运作如下:(从后往前)
比拟相邻的元素。
假设第一个比第二个大,就替换他们两个。
对每一对相邻元素作雷同的上班,从开局第一对到开头的最后一对。
在这一点,最后的元素应该会是最大的数。
针对一切的元素重复以上的步骤,除了最后一个。
继续每次对越来越少的元素重复下面的步骤,直到没有任何一对数字须要比拟。
java中关于数组的排序
我尝试从新编写了一个冒泡排序算法,用于对数组启动降序排序。
以下是代码示例:package sss;public class F {public static void main(String[] args) {int ns[] = {1, 2, 3, 4, 5, 6};int t = 0;for (int i = 0; i < 6; i++) {for (int j = 5; j > 0; j--) {if (ns[j] > ns[j - 1]) {t = ns[j];ns[j] = ns[j - 1];ns[j - 1] = t;}}}for (int i = 0; i < 6; i++) {(ns[i]);}}}经过运转这段代码,我获取了预期的结果:数字从大到小陈列。
假设你的代码有失误,或者是排序条件设置反了,造成了升序排序而不是降序排序。
请细心审核你的代码和逻辑。
此外,假设你想提高代码的效率,可以思考提升冒泡排序算法,例如经常使用标志变量来审核能否启动了替换,从而防止不用要的比拟。
宿愿这个示例对你有所协助,假设还有其余疑问,欢迎继续探讨。