冒泡排序是比较经典的排序算法.代码如下:
for(int i=1;iarr.length;i++){
for(int j=1;jarr.length-i;j++){
//交换位置
} ? ?
拓展资料:
原理:比较两个相邻的元素,将值大的元素交换至右端.
第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一个数不参与比较;
第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;
依次类推,每一趟比较次数-1;
......
参考资料:冒泡排序原理
import java.util.Arrays;
import java.util.Collection;
public static void main(String[] args) {
// 这是你的三个数
// 两层嵌套循环
for (int i = 0; i arr.length; i++) {
for (int j = 0; j i; j++) {
// 如果后者小于前者,让他们交换位置,一直循环
// 直到每个数字都从头到尾跟数组里的每个数字比较一次
if (arr[i] arr[j]) {
// 这三步就是交换位置,相信聪明的你一定看得懂了
arr[i] = arr[i] + arr[j];
arr[j] = arr[i] - arr[j];
arr[i] = arr[i] - arr[j];
}
//最后打印出来
System.out.println(arr[i]);
资料拓展:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,所以呢Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论
自己写的三种传统排序法.快排法主要是自己也没怎么搞明白......
(你可以建数组来存数据,就不写完整的了.)
// TODO Auto-generated method stub
System.out.println("插入法");
int temper=0;
for(int j=i;j0;j--){
}else break;
//插入排序法完
//选择排序法
System.out.println("选择排序法");
int minFoot = i;
minFoot=j;
//选择排序法完
//冒泡排序法
public void Bubbling(int[] a1) {
System.out.println("冒泡排序法");
int temper = 0;
for (int i = 0; i a1.length - 1; i++) {
for (int j = 0; j a1.length - 1 - i; j++) {
if (this.a1[j] this.a1[j + 1]) {
temper = a1[j];
a1[j] = a1[j + 1];
a1[j + 1] = temper;
//冒泡排序法完
package temp;
import sun.misc.Sort;
/**
* @author zengjl
* @version 1.0
* @Des java几种基本排序方法
*/
* SortUtil:排序方法
* 关于对排序方法的选择:这告诉我们,什么时候用什么排序最好.当人们渴望先知道排在前面的是谁时,
* 我们用选择排序;当我们不断拿到新的数并想保持已有的数始终有序时,我们用插入排序;当给出的数
* 列已经比较有序,只需要小幅度的调整一下时,我们用冒泡排序.
public class SortUtil extends Sort {
* 插入排序法
* @param data
* @Des 插入排序(Insertion Sort)是,每次从数列中取一个还没有取出过的数,并按照大小关系插入到已经取出的数中使得已经取出的数仍然有序.
public int[] insertSort(int[] data) {
①./11页
int temp;
for (int i = 1; i data.length; i++) {
for (int j = i; (j 0) (data[j] data[j - 1]); j--) {
swap(data, j, j - 1);
return data;
* 冒泡排序法
* @return
* @Des 冒泡排序(Bubble Sort)分为若干趟进行,每一趟排序从前往后比较每两个相邻的元素的大小(所以呢一趟排序要比较n-1对位置相邻的数)并在
* 每次发现前面的那个数比紧接它后的数大时交换位置;进行足够多趟直到某一趟跑完后发现这一趟没有进行任何交换操作(最坏情况下要跑n-1趟,
* 这种情况在最小的数位于给定数列的最后面时发生).事实上,在第一趟冒泡结束后,最后面那个数肯定是最大的了,于是第二次只需要对前面n-1
* 个数排序,这又将把这n-1个数中最小的数放到整个数列的倒数第二个位置.这样下去,冒泡排序第i趟结束后后面i个数都已经到位了,第i+1趟实
* 际上只考虑前n-i个数(需要的比较次数比前面所说的n-1要小).这相当于用数学归纳法证明了冒泡排序的正确性
以上就是土嘎嘎小编为大家整理的java排序代码大全相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!