案例------冒泡排序

原理

冒泡排序(Bubble Sort),又被称为气泡排序或泡沫排序。

它是一种较简单的排序算法。它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾!
采用相同的方法再次遍历时,第二大的元素就被排列在最大元素之前。重复此操作,直到整个数列都有序为止!

namespace数组排序

{

classProgram

{

staticvoidMain(string[]args)

{

inttemp=0;

int[]arr={23,44,66,76,98,11,3,9,7};

#region该段与排序无关

Console.WriteLine("排序前的数组:");

foreach(int item in
arr)

{

Console.Write(item+"");

}

Console.WriteLine();

#endregion

for(int i=0;i<arr.Length-1;i++)

{

#region将大的数字移到数组的arr.Length-1-i

for(int j=0;j<arr.Length-1-i;j++)

{

if(arr[j]>arr[j+1])

{

temp=arr[j+1];

arr[j+1]=arr[j];

arr[j]=temp;

}

}

#endregion

}

Console.WriteLine("排序后的数组:");

foreach(intiteminarr)

{

Console.Write(item+"");

}

Console.WriteLine();

Console.ReadKey();

}

}

}

案例------冒泡排序

时间: 2024-11-05 13:43:53

案例------冒泡排序的相关文章

JavaScript基础部分经典案例

再复杂的程序都是由一个个简单的部分组成. 001案例 - 交换两个变量的值 方法01 - 使用临时变量 var n1 = 5; var n2 = 6; // 创建一个临时中介变量 tmp var tmp; // 将 n1 的值备份给 tmp tmp = n1; // 把 n2 赋值给 n1 n1 = n2; // 把备份的 n1 赋值给 n2 n2 = tmp; console.log(n1, n2); 方法02 - 不使用第三个变量 var n1 = 5; var n2 = 6; // 利用两

黑马程序员--数组与字符串

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 数组 用来存储一组数据 特点:只能存储一种类型的数据 格式: 格式类型数组名 [元素个数]; int a[10];  //定义一个整形的数组a 里面包含10个元素,下标从0开始,即a[0],a[1]…a[9] 10个数据 数组必须先定义然后才能使用/ 数组的初始化 可以再定义数组时进行赋值 例 a[5]={0,1,2,3,4};   定义的初值一次放在一对花括号内,经过上面的定义和初始化后 a

代码案例(结构体,函数指针,指针函数,冒泡排序) 修改

#import <Foundation/Foundation.h> typedef struct {     char name[20];     int age;     float score; }Stu; //建立字符串和函数之间的一一对应关系. typedef BOOL (*PStu) (Stu stu1,Stu stu2) ; typedef struct nameFunctionPair{     char name[20]; //存储函数对应的字符串     PStu funct

代码案例(结构体,函数指针,指针函数,冒泡排序)

typedef struct {     char name[20];     int age;     float score; }Stu; #import <Foundation/Foundation.h> //姓名升序 void sortByName(Stu *p , int count ) {     for (int i = 0 ; i < count -1; i ++) {         for (int j= 0 ; j < count -1-i; j ++) {

python第十四课--排序及自定义函数之案例二:冒泡排序

案例二:冒泡排序 lt1=[45,12,56,-32,-3,44,75,-22,100] print('排序前:'+str(lt1)) 自定义函数:实现冒泡排序(升序)原则:1).有没有形参?有,接受一个列表对象 2).有没有返回值?没有,排完就排完 def bubbleSort(lt): length=len(lt) for i in range(length-1): for j in range(length-1-i): if lt[j]>lt[j+1]: lt[j],lt[j+1]=lt[

0137 函数案例:数组翻转、冒泡排序、判断闰年

函数内部可以调用另一个函数,在同一作用域代码中,函数名即代表封装的操作,使用函数名加括号即可以将封装的操作执行. // demo:利用函数翻转任意数组 reverse 翻转 function reverse(arr) { var newArr = []; for (var i = arr.length - 1; i >= 0; i--) { newArr[newArr.length] = arr[i]; } return newArr; } var arr1 = reverse([1, 3, 4

关于for循环的几种经典案例

由于for循环可以通过控制循环变量的初始值和循环结束条件来改变遍历的区间,所以在排序或者遍历的时候,利用for循环就比较简单,以下是本人学习后得到的一些总结案例. 1.排序的应用 1)交换排序:通过取出的数和该数位置后面剩余的其他数逐一进行比较,将最大的或者最小的一个数放在一组数的首位,然后再将第二大的数放在第二位,依次排完所有的数. 1 for(int i = 0; i < (num.length - 1); i ++) 2 { 3 for(int j = i + 1; j < num.le

数组冒泡排序、选择排序、二分查找法

1 数组高级冒泡排序原理图解[掌握] 画图演示 需求: 数组元素:{24, 69, 80, 57, 13} 请对数组元素进行排序. 冒泡排序 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 2 数组高级冒泡排序代码实现[掌握] 案例演示 数组高级冒泡排序代码 package com.heima.array; public class Demo1_Array { public static void main(String[] args) { int[] arr = {24,

冒泡排序改进版(java)

冒泡排序 冒泡排序(bubble sort)是一种相邻数据交换的排序方法,该算法简单,因此作为排序算法入门案例. (1)基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒.即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换. (2)实例: package 练习; import java.util.Scanner; public class 冒牌排序 { public static int a[