精华内容
下载资源
问答
  • 2022-02-28 16:49:10

    目标:冒泡排序实现数组的排序
    代码:

    #include <stdio.h>
    void sort(int* array, int n)                    //具体实现的函数
    {
        for (int i = 0; i < n - 1; i++)              //需要嵌套循环  
        {
            for (int j = 0; j < n - 1 - i; j++)
            {
                if (array[j] > array[j + 1])        //如果前面的数大于后面的数,这两个数就要交换位置,实现较小的数在前,较大的数在后。
                {
                    int tmp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = tmp;
                }
    
            }
    
        }
    }
    
    int main() {
        int n = 0;
        scanf("%d", &n);
        int array[100] = { 0 };
        for (int i = 0; i < n; i++)
        {
    
            scanf("%d", &array[i]);
        }
        sort(array, n);
        for (int i = 0; i < n; i++)
        {
            printf("%d", array[i]);
    
        }
    
        return 0;
    }
    
    更多相关内容
  • 首先我们来了解数组的概念 一.数组的概念 单个变量能存储信息如果有批量数据需要存储,单个变量存储时间和空间上不经济和实用,而且过于麻烦,这时候需要用数组这一引用数据类型来存储。 数组:用来存储具有相同数据...

    首先我们来了解数组的概念
    一.数组的概念
    单个变量能存储信息如果有批量数据需要存储,单个变量存储时间和空间上不经济和实用,而且过于麻烦,这时候需要用数组这一引用数据类型来存储。
    数组:用来存储具有相同数据类型的数据的集合,可以使用共同的名字来引用数组中存储的数据。
    特点:数组可以存储任何类型的数据,包括原始数据类型和引用数据类型,但是一旦指定了数组的类型之后,就只能用来存储指定类型的数据。

    二.数组声明
    两种方式:a. 数据类型 [] 数组名 int [] name={数据};
    -------------- b. 数据类型 数组名[] int name[]={数据};

    三.一维数组
    从一维数组的定义可知:一维数组的形式为 name[]={225,21,3,2,34,3,44,3};
    数组的开始位置都是从0开始的,比如name[1]的值是21,3储存在数组name[7]中,
    数组的作用是便于数据的存储和读取,因此我们可以引申得到数据的获取方式

    package day03;
    
    public class t1 {
       public static void main(String[] args) {
    	   int s[]={34,56,23,78,45,33};
    	   //数组的遍历
    	   for(int j=0;j<s.length;j++){
    			System.out.print(s[j]+" ");	
    		}
    		//获取最值
    	   int max=s[0];  
    	   int min=s[0];
    	   for(int i=0;i<s.length;i++){
    		   if(max<s[i]){
    			  max=s[i];
    		   }else{
    			  max=max;
    		    }
    	     }
    	   for(int i=0;i<s.length;i++){
    		   if(min>s[i]){
    			  min=s[i];
    		   }else{
    			  min=min;
    		    }
    	     }
    	   System.out.println(min);
    	   System.out.println(max);
    }
    }
    
    

    接下来实现一维数组的冒泡排序:
    冒泡排序的要点是每次对比之后,都会将大的值往后移一位,直到最大值被放在了最后一位,最大值找出来之后,就找到第二大的值,以此类推。直到首位的值最小为止。
    在这里插入图片描述

    public static void maopao(){
    		int s[]={90,34,-23,18,12};
    		for(int i=0;i<s.length-1;i++){//减一是因为组数从首位开始比较,可以不算在循环内
    			for(int j=0;j<s.length-1-i;j++){
    				int temp=s[j];
    				if(s[j]>s[j+1]){
    					s[j]=s[j+1];
    					s[j+1]=temp;
    				}
    			}
    		}
    		for(int k=0;k<s.length;k++){
    			System.out.print(s[k]+" ");
    		}
    	}
    
    展开全文
  • 冒泡排序 1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,就交换他们的位置 2.每一次比较,都会产生出一个最大,或者最小的数字 3.下一轮则可以少一次排序 4.依次循环,直到结束 */ public class ...
    import java.util.Arrays;
    
    /*
    冒泡排序
    1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,就交换他们的位置
    2.每一次比较,都会产生出一个最大,或者最小的数字
    3.下一轮则可以少一次排序
    4.依次循环,直到结束
     */
    public class ArrayDemo07 {
        public static void main(String[] args) {
            int[] a = {1, 3, 4, 2, 5, 7, 6};
    
            int[] sort = sort(a);  //调用完我们自己写的排序方法后,返回一个排序后的数组
    
            System.out.println(Arrays.toString(sort));
        }
    
        public static int[] sort(int[] array) {
            //临时变量
            int temp = 0;
    
            //外层循环,判断我们这个要走多少次
            for (int i = 0; i < array.length; i++) {
    
                boolean flag = false;  //通过flag标识位减少没有意义的比较
    
                //内层循环,比价判断两个数,如果第一个数,比第二个数大,则交换位置。
                for (int j = 0; j < array.length - 1 - i; j++) {
                    if (array[j + 1] < array[j]) {
                        temp = array[j];
                        array[j] = array[j + 1];
                        array[j + 1] = temp;
                        flag = true;
                    }
                }
                if (flag == false) {
                    break;
                }
            }
            return array;
        }
    }
    
    展开全文
  • c语言数组实现冒泡排序

    千次阅读 2021-11-08 17:57:48
    数组实现冒泡排序什么是冒泡拍排序用数组实现总结 什么是冒泡拍排序 首先,需要了解一下什么是冒泡排序,定义:冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素...

    什么是冒泡拍排序

    首先,需要了解一下什么是冒泡排序,定义:冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。

    通俗易懂的说就是说:第一个元素依次和后面的元素进行比较,直到和最后一个元素比较完,就会产生一个新的序列,在用新的序列的第一个元素与后面元素依次进比较,注意的是已经比较过的元素无需在比较,因为前面已经比较过。
    举个列子比如某序列{10,9,8,7,6,5,4,3,2,1}
    在这里插入图片描述

    从上面不难看出,冒泡排序需要每个元素依次跟后面的元素进行比较,从而得出正确的排序

    用数组实现

    在这里插入图片描述

    在这里插入图片描述

    具体代码如下:

    #include <stdio.h>
    
    void doube(int arr[],int sz)
    {
    	int i = 0;
    	for (i = 0; i < sz - 1; i++)
    	{
    		int j;
    		int flag = 1;
    		for (j = 0; j < sz - 1 - i; j++)
    		{
    			if (arr[j]>arr[j + 1])
    			{
    				int tem = arr[j];
    				arr[j] = arr[j + 1];
    				arr[j + 1] = tem;
    				flag = 0;
    			}
    		}
    		if (flag == 1)
    		{
    			break;
    		}
    	}
    }
    int main()
    {
    	int arr[] = { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
    	 int i = 0;
    	 int sz = sizeof(arr) / sizeof(arr[0]);
    	 doube(arr, sz);
    	 for (i = 0; i < sz; i++)
    	 {
    		 printf("%d ", arr[i]);
    	 }
    	return 0;
    
    }
    

    总结

    关于数组的一些知识
    在这里插入图片描述

    数组在传参时,是将首地址传给形参,而不是将整个数组传给形参。通过以上输出进行比较,不难看出结果,所以得出结论:数组名是数组首元素地址(有两个意外)

    • 一是sizeof(数组名),sizeof计算的是整个数组的长度,而不是首地址,单位是字节
    • 二是&数组名,取出的是整个数组的地址,&数组名,此时的数组名表示整个数组

    最后,如有不当之处请指出

    展开全文
  • java冒泡排序 代码为排序源代码 简洁明了 无其他
  • 封装一个函数,利用冒泡排序实现对整型数组的升序排序 例如数组:int arr[10]={4,3,6,9,1,2,10,8,7,5}; arr是数组名,数组名即是数组的首地址。在封装函数中,void bubbleSort(int *arr,int len);,创建一个函数,...
  • public class test2 { public static void main(String[] args) { // TODO Auto-generated method stub ...//声明并实现数组a System.out.println("数组a的原始顺序为:"); for(int i=0;i...
  • 一、冒泡排序的原理 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 思想: 依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后...
  • 指针数组为字符串排序,char* str[] = { "beijing","guangdong","shanghai" };进行排序,内涵冒泡排序和快速排序,原理:更改指针指向
  • java:数组冒泡排序

    2022-03-27 21:11:44
    eclipse使用Java实现数组冒泡排序
  • c++利用指针 数组 函数 实现冒泡排序算法
  • 二维数组实现冒泡排序

    千次阅读 2020-12-02 14:40:40
    实现了一维数组排序,同时二位数组也可实现排序利用C++实现,以下为主函数 #include<iostream> using namespace std; #define N 3 void paixu(int (*p)[N]); void out(int (*p)[N]); int main() { ...
  • js数组冒泡排序

    2022-04-11 23:31:41
    数组的概念,怎么创建数组、获取数据元素、遍历数组、新增元素以及星光案例
  • C++指针数组函数 冒泡排序实现

    千次阅读 2020-08-04 22:46:52
    封装一个函数,利用冒泡排序实现对整形数组的升序排序 #include<iostream> using namespace std; void maopao(int *a,int len){ for(int i=0;i<len-1;i++){ for(int j=0;j<len-1-i;j++){ if(*...
  • 冒泡排序四.总结 在shell脚本中,我们用变量存储一个值,那么多个值该怎么存储呢?我们可以使用数组,存储多个数值# 一.数组的概述 1.1数组的定义 基本格式:数组名=(value1 value2 … valuen) 数组中可以存放多个...
  • * 冒泡排序 * @param arr */ public static void bubbleSort ( int [ ] arr ) { for ( int i = 0 ; i < arr . length - 1 ; i ++ ) { for ( int x = 0 ; x < arr . length - 1 ; x ...
  • 冒泡排序思想:用数组第一个元素开始向后一个元素比对,如果前一个元素的值大于后一个元素的值,就调换两个元素的位置,继续向后一个元素比对,直到最后一个元素为止。再重新用当前顺序的数组的第一个元素重复以上...
  • 数组冒泡排序

    2021-05-02 10:39:27
  • C语言 一维数组冒泡排序

    千次阅读 多人点赞 2020-07-23 09:16:35
    #include int main() { int a[10];... } printf("冒泡排序后的顺序:"); for(i=0; i; i++) printf("%d ",a[i]); return 0; } 小剧场:不被束缚,欣赏自己。Don’t be bound, appreciate yourself.
  • 数组 数组的定义 数组是相同类型数据的有序集合,数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组的三个基本...
  • 所谓冒泡排序,就是不断地比较数组中相邻的两个元素,较小者向上浮,较大者往下沉,整个过程和水中气泡上升的原理相似。 第一步:从第一个元素开始,将相邻的两个元素依次进行比较,直到最后两个元素完成比较。如果...
  • 输入10个整数存入数组中,然后使用冒泡排序算法对一维数组的元素从小到大进行排序,并输出。 输入 在控制台中输入数字,存入一维数组 输出 输出排序后的数组 样例输入 87 85 89 84 76 82 90 79 78 68 样例...
  • 一维数组冒泡排序

    2020-06-08 23:56:37
    代码模块化 1.在maopao.h文件中定义排序函数 int *sequence(int *a[])和输出函数 void display(int *a) 排序函数的参数是数组 ,是将要排序...冒泡排序的原理 以上面的一维数组为例,8个元素,比较7次 第一次:第一个
  • 注意行指针和列指针的使用 行指针不能直接访问二维数组的元素,必须要将行指针转换为列指针才能访问二位数组元素
  • 使用一维数组进行冒泡排序 【问题描述】从键盘输入某班学生某门课的成绩(每班人数最多不超过40人),当输入为负值时,表示输入结束,试用冒泡法编程将分数按从高到低顺序进行排序并输出。 【输入形式】任意输入一组...
  • C语言 数组 冒泡排序法 以从小到大排序为例,冒泡排序的整体思想是这样的: 从数组头部开始,不断比较相邻的两个元素的大小,让较大的元素逐渐往后移动(交换两个元素的值),直到数组的末尾。经过第一轮的比较,就...
  • 主要介绍了java利用冒泡排序对数组进行排序的方法,实例分析了冒泡排序的概念与java实现方法,以及java操作数组的相关技巧,需要的朋友可以参考下
  • printf("冒泡排序算法\n"); printf("排序前:"); display(num,NUMBER);//打印数组内容 bubbleSort(num,NUMBER);//调用选择冒泡算法 printf("排序后:"); display(num,NUMBER); return 0; } void bubbleSort(int num...
  • 在对数组进行冒泡排序时,无需进入脚本修改调用的数组名,只需要在脚本执行时在其后加上位置变量$1(数组文件名)即可 1.创建一个文件,写入一组无规律排序的数字,通过调用函数的方式对该文件内的数字进行排序。 ...
  • #include<... //定义数组 int n; cout << "请输入数组长度:"; cin >> n; int arr[n]; cout << "请输入数组元素:"; for (int i = 0; i < n; i++) { cin >> arr

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,247
精华内容 18,098
关键字:

利用数组实现冒泡排序