精华内容
下载资源
问答
  • n个冒泡排序

    2013-11-18 17:43:24
    简单的冒泡排序程序,可以实现n个数字的冒泡排序
  • 冒泡对N个排序

    2012-11-13 14:15:07
    冒泡法实现对N个不定顺序的数进行有序的排序的实现方法
  • 输入的n个整数进行排序。1<=n<=100。 选择冒泡排序,首先要知道冒泡排序的时间复杂度为o(n^2),空间复杂度为o(n)。本题中n最大为100,时间和空间都可以接受。 #include&lt...

    对输入的n个整数进行排序。1<=n<=100。
    选择冒泡排序,首先要知道冒泡排序的时间复杂度为o(n^2),空间复杂度为o(n)。本题中n最大为100,时间和空间都可以接受。

    #include<iostream>
    using namespace std;
    int main()
    {
    	int c[100],n=0;  //n为1到100
    	while(cin>>n)    //输入n
    	{
    		for(int i=0;i<n;i++)
    		{
    			cin>>c[i];  //循环n次,给数组赋值
    		}
    		for(int j=0;j<n;j++)  //冒泡排序
    		{
    			for(int k=0;k<n-j-1;k++)
    			{
    				if(c[k]>c[k+1])
    				{
    					int temp=c[k];
    					c[k]=c[k+1];
    					c[k+1]=temp;
    				}
    			}
    		}
    		for(int p=0;p<n;p++)  //输出排序
    			cout<<c[p]<<' ';
    	}
    
    	return 0;
    }
    
    展开全文
  • 冒泡排序

    万次阅读 多人点赞 2019-09-16 16:28:32
    冒泡排序是一种比较简单的排序算法,它循环走过需要排序的元素,依次比较相邻的两元素,如果顺序错误就交换,直至没有元素交换,完成排序。 若对n个人进行排序,我们需要n-1次比较,所以第k次比较需要进行n-k次...

    冒泡排序是一种比较简单的排序算法,它循环走过需要排序的元素,依次比较相邻的两个元素,如果顺序错误就交换,直至没有元素交换,完成排序。
    若对n个人进行排序,我们需要n-1次比较,所以第k次比较需要进行n-k次比较。排序算法通过以数据对象的两两比较作为关键,所以可以得出,冒泡排序需要进行的
    比较次数为:(n-1) + (n-2) + … + 1 = n*(n-1) / 2,因此冒泡排序的时间复杂度为O(n^2)
    在这里插入图片描述
    以js实现为例:

       //1.冒泡排序-s--两两比较,大的和小的换位置
       let dataList=[12,2,3,46,1,2,8];
       let hasSort=[];
      //第一遍循环 n-1 次  (n=dataList.length)
       for(let i=0;i<dataList.length;i++){
      //第二遍循环 n-i-1 次
             for(let j=0;j<i;j++){
               if(dataList[i]>dataList[j]){
                let _data = dataList[i]
                dataList[i] = dataList[j]
                dataList[j]=_data
               }
             }
             hasSort.push(dataList[i]);
       }
       console.log("hasSort:"+hasSort)
       //1.冒泡排序-end
    
    展开全文
  • C语言冒泡排序算法

    千次阅读 多人点赞 2018-12-25 17:05:57
    冒泡排序的概念:冒泡排序(Bubble Sort)是一种简单的交换排序,它是通过两两比较相邻记录的关键字,如果发生逆序就进行交换,从而使关键字小的记录如气泡一般逐渐往上“漂浮”(左移),或者使关键字大的记录如...

    冒泡排序的概念:冒泡排序(Bubble Sort)是一种简单的交换排序,它是通过两两比较相邻记录的关键字,如果发生逆序就进行交换,从而使关键字小的记录如气泡一般逐渐往上“漂浮”(左移),或者使关键字大的记录如石块一样向下“坠落”(右移)。

    冒泡排序的思想:就是将关键字进行两两比较,如果发生逆序就进行交换。

    冒泡排序的思路过程:例如将49,38,65,97,76,13,27,49进行冒泡排序

    初始化:49,38,65,97,76,13,27,49*

    第一趟排序:38,49,65,76,13,27,49*,97

    第二趟排序:38,49,65,13,27,49*,76,97

    第三趟排序:38,49,13,27,49*,65,76,97

    第四趟排序:38,13,27,49,49*,65,76,97

    第五趟排序:13,27,38,49,49*,65,76,97

    实际上对于这一系列数字就行五趟冒泡排序就可以将其按照顺序排出但实际上在写代码的过程中循环次数是7而不是5,因为你在写代码的时候并不需要考虑最少需要多少趟完成此排序,都是按照最大循环次数(数组的长度length-1)来完成此排序的。

    冒泡排序每一趟都可以将一个较大的数放到后面的去,而且冒泡排序是稳定排序,何为稳定排序在这里不做详细说明。

    接下来将用代码去实现冒泡排序:

    /*利用冒泡排序对给定无序数组进行排序*/
    #include<stdio.h>
    #include<windows.h>
    void main()
    {
    	int a[8] = { 49, 38, 65, 97, 76, 13, 27, 49 };
    	int i, j;//用于循环
    	int temp;//中间变量用于交换数组中的数值
    	for (i = 0; i < 7; i++)//外层循环要循环数字数值长度减1次
    	{	
    		/*内层循环的次数将越来越少,因为冒牌排序第一趟就可以将数
    		组中最大的一个数放到最后,第二趟就可以将次大的数放在后面
    		,所以随着外层循环次数的增多,内层循环将会变少。*/
    		for (j = 0; j < 7 - i; j++)
    		{
    			if (a[j]>a[j+1])//逆序则借助中间变量交换数值
    			{
    				temp = a[j];
    				a[j] = a[j + 1];
    				a[j + 1] = temp;
    			}
    		}
    	}
    	printf("冒泡排序的结果为:\n");
    	for (i = 0; i < 8; i++)//将数组输出
    	{
    		printf("%3d",a[i]);
    	}
    	printf("\n");
    	system("pause");//暂停一下
    }
    

    代码运行的截图:

    在这里插入图片描述

    展开全文
  • Java 冒泡排序

    千次阅读 多人点赞 2019-05-28 15:19:23
    冒泡排序的原理有一下几步骤 1 逐一比较数组中相邻的两元素,如果后面的数字小于前面的数组,就交换前后元素 2 经过一轮的比较之后一定有一最大的排在后面的位置 3 每次比较剩下的元素,经过n-1次比较,可以...

     

    冒泡排序的原理有一下几个步骤

    1 逐一比较数组中相邻的两个元素,如果后面的数字小于前面的数组,就交换前后元素

    2 经过一轮的比较之后一定有一个最大的排在后面的位置

    3 每次比较剩下的元素,经过n-1次比较,可以实现排序.

     

    package me;
    
    import java.util.Arrays;
    
    public  class Me {
        public static void main(String[] args) {
          int [] arr = {3,2,5,8,6,4,9}; //用冒泡排序
            for (int i=0;i<arr.length-1;i++){ //遍历数组 第一个元素定义为i
                for (int j=0;j<arr.length-1-i;j++){ //遍历数组定义第二个元素为j,加入i是3那么数组中j就是2
                    if (arr[j]>arr[j+1]){ //如果第一个元素大于第二个元素 交换
                        int value = arr[j];
                        arr[j] = arr[j+1];
                        arr[j+1]=value;
                    }
                }
            }
            System.out.println(Arrays.toString(arr));
        }
        
       
    }
    

    如果这个交换元素的值不清楚的话可以看下图

     

    展开全文
  • 输入n个数用冒泡排序法从大到小排序输出排序过程以及排序结果 绝对不会后悔!
  • n=int(input("请输入想生产的整数数:")) i=0 while i<n: arr.append(random.randrange(1,99)) i+=1 print("排序前:%s"%arr) #冒泡算法排序 for i in range(n): flag=0 for j in range(1,n):...
  • 本文(所有排序算法代码+综合比较代码)链接: 一、比较目的:        由于《数据结构》课本中各种内部排序算法的时间复杂度分析结果...以下八种常用内部排序算法进行比较:直接插入排序、希...
  • 冒泡排序对N个数从小到大排序

    万次阅读 多人点赞 2018-11-02 15:11:48
    #include &lt;stdio.h&...#define N 5 int main() { int a[N],i,j,t; for(i=0;i&lt;N;i++) scanf("%d",&amp;a[i]); for(i=1;i&lt;=N-1;i++) for(j=0;j&lt;N-i;j++...
  • 1. 使用了:选择排序法,冒泡排序法 2. 排序法中对于两数据的交换用了指针,用了引用
  • 冒泡排序 C++版

    千次阅读 2018-11-03 17:49:11
    一、说明:冒泡排序的原理在注释中,文中冒泡排序使用了模板来传入数据,详细情况看下面的测试代码。 二、测试代码 #include &amp;lt;iostream&... 冒泡排序:从数组的右到左对数组进行...
  • JS排序算法:冒泡法、快速排序法、选择排序法、插入排序法、哈希排序//生成数组 var arr = new Array(1000); for (var i = 0; i ; i++) { arr[i] = (Math.round(Math.random() * 1000)); }1.冒泡排序思想:...
  • 随意输入n个数字,用冒泡排序进行排序 #include<stdio.h> void BubbleSort(int number[],int n) { int i,j,temp; for(i=0;i<n-1;i++) { for(j=1;j<n-i;j++) { if(number[j]<number[j-1...
  • 排序算法——冒泡排序

    千次阅读 2016-07-14 21:30:31
    冒泡排序法(Bubble Sort)是所有排序算法中最简单,最基本的一种。冒泡排序法的基本思路就是交换排序,通过相邻数据的比较来达到排序的目的。冒泡排序冒泡排序算法通过多次比较和交换数据来实现排序,其排序流程...
  • Python输入的数进行冒泡排序

    千次阅读 2020-08-05 09:58:59
    文章目录输入的数进行冒泡排序题目要求分析演示写在最后的话: 这里是一段防爬虫文本,请读者忽略。 本文原创首发于CSDN,作者IDYS 博客首页:https://blog.csdn.net/weixin_41633902/ 本文链接:...
  • #define N 10 #include "iostream" using namespace std; int main() { int a[N],i,j,t; for(i=0;i<N;i++) { a[i]=rand()%101; cout<<a[i]<<' '; } for(i=0;i<N-1;i++) for(j=0;j<N...
  • 编写一程序,从键盘接收一字符串(长度不超过20),采用冒泡排序,按照字符顺序从小到大进行排序,最后输出排序后的字符串。 【输入形式】 输入一行字符串,长度不超过20。 【输出形式】 输出排序后的字符串。...
  • 冒泡排序对N个数由小到大排序

    千次阅读 2019-03-29 21:40:00
    #include <stdio.h> #define N 5 void main() { int a[N]; int i,j,temp;... printf("请输入待排序的数据: \n"); for (i=0;i<N;i++) scanf("%d",&a[i]); for (i=1;i&l...
  • 所以我在这里会尽可能地简单地把冒泡排序法拆解成一的小步骤。希望各位能尽可能地理解。 当然实在理解不了也没问题。本来排序法就不是考试的重点,只有一比较小的概率会出成程序大题。但是如果理解了的话,...
  • C语言冒泡排序

    千次阅读 2016-06-26 17:42:12
    C语言冒泡排序
  • //冒泡输入的10字符按ASCII大小进行排序 #include <stdio.h> #define N 10 int main(){ char a[N]; char t; int i,j; printf("请输入10字符:\n"); for(i=0;i<N;i++){ scanf("%c",&...
  • 输入n个数,用冒泡进行排序

    千次阅读 2019-07-14 21:36:41
    冒泡排序的原理就不在这里多说了。 主要展示一下代码,也方便以后回顾。 程序如下: package com.fsh.question; import java.util.Scanner; public class Bubblesort{ public static void main(String[] args) { ...
  • java冒泡排序

    千次阅读 2018-01-17 17:43:42
    Java冒泡排序  冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该...
  • public class Ashuzu_b7 { public static void main(String[] args) { int [] array = new int[10];//建立一数组 System.out.print("随机产生的数组中为:"); for (int i=0;i<array.length;i++)//...
  • //题目:10进行排序 #include<stdio.h> int main() { int t,i,j; int str[10]={4,3,2,6,8,9,12,45,32,7}; for(i=0;i<10;i++) { for(j=0;j<10;j++) { if(str[i]<str[j]) { ...
  • C语言 冒泡排序,选择法排序和插入排序

    千次阅读 多人点赞 2014-12-04 22:56:06
    排序是非常重要且很常用的一种操作,有冒泡排序、选择排序、插入排序、希尔排序、快速排序、堆排序等多种方法。这里我们先简单介绍前三种排序算法和代码的实现,其余算法将在后续课程《数据结构》中学习到。 冒泡法...
  • 冒泡排序——整数进行排序

    千次阅读 2018-07-19 16:12:45
    题目描述 用选择法10整数从小到大排序。...解题:这次用冒泡排序解决这问题。首先得清楚冒泡排序的思想:每次排序,比较两数,较大的数放在后面,这样排九次就可以了。至于每次排序比较几次,你...
  • 冒泡排序法可以形象地描述为:使较小的值像空气泡一样逐渐“上浮”到数组的顶部,而较大的数值逐渐“下沉”到数组的底部。这种排序技术要排好几轮,每一轮都要比较连续的数组元素。如果某数值是按升序排列,那...
  • 冒泡排序C语言实现

    千次阅读 多人点赞 2016-10-20 18:51:28
    冒泡排序C语言实现

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 135,429
精华内容 54,171
关键字:

对n个不同的排序码进行冒泡排序