冒泡排序简述
冒泡排序(C&Java实现)2019/8/14 10:41:46
Java:IDEA C:CLion 文档编写:MarkdownPad2 每天一算法,希望自己的算法能有长足的进步,加油。 近几天线上的笔试更让我感受到各大互联网公司对于算法的重视。的确,现下主流的框架已经十分成熟,正常学习了就能知道如何使用,但是想要更进一步融合成自己的东西,融会贯通,还是需要深入其中去钻研,算法也算程序员的分水岭了,加油。 接下来看看今天的算法:冒泡排序 冒泡排序冒泡排序(Bubble Sort),是一种较简单的 排序算法。 基本思想:每次比较两个相邻的元素,如果他们的顺序错误就把它们交换过来。 原理: 总结:如果有 n 个数进行排序,只需将 n-1 个数归位,也就是说要进行 n-1 趟操作。 算法分析冒泡排序的算法核心部分是双重嵌套循环。 平均时间复杂度为:O(n^2)。 冒泡排序是一种稳定的排序算法。 代码实现??1、C语言实现// // Created by czc on 2019/8/14. // #include<stdio.h> int main(){ int book[100],i,j,t,n; printf("请输入输入数据个数:"); scanf("%d",&n); //循环读入n个数到数组中 for(i=1;i<=n;i++){ scanf("%d",&book[i]); } //冒泡排序核心部分:双重循环 for(i=1;i<=n-1;i++){ for(j=1;j<=n-i;j++){ if(book[j]>book[j+1]){ t=book[j]; book[j]=book[j+1]; book[j+1]=t; } } } for(i=1;i<=n;i++){ printf("%d",book[i]); printf(" "); } return 0; } 程序测试结果: ??2、Java实现/* 创建人:czc 创建时间:2019/8/14 用途:冒泡排序 */ import java.util.Scanner; import static java.lang.System.out; public class BubbleSort { private static Scanner scanner; public static void main(String[] args){ int[] book=new int[100]; int i,n; scanner=new Scanner(System.in); out.println("请输入排序数据个数:"); n=scanner.nextInt(); for(i=1;i<=n;i++){ book[i]=scanner.nextInt(); } //冒泡排序核心部分 for(i=1;i<=n-1;i++){ for(j=1;j<=n-i;j++){ if(book[j]>book[j+1]){ t=book[j]; book[j]=book[j+1]; book[j+1]=t; } } } for(i=1;i<=n;i++){ out.print(book[i]+" "); } } } 程序测试截图: 吾生也有涯,而知也无涯。(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |