前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >练习5—冒泡排序

练习5—冒泡排序

作者头像
攻城狮杰森
发布2022-06-03 11:22:47
1380
发布2022-06-03 11:22:47
举报
文章被收录于专栏:技术集锦技术集锦

题目

编写程序,从键盘上任意接收10个整数存入一维数组中(无序),利用冒泡排序将该数组元素由小到大进行排序,并输出排序后数组。

解题步骤

(1)建立用于存放数据的一维数组; (2)接收用户输入; (3)冒泡排序; (4)输出结果;

Java

代码语言:javascript
复制
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        Scanner user = new Scanner(System.in);
        int[] array = new int[10];
        int i, j, temp;
        System.out.println("please enter 10 integers:");
        for (i = 0; i < 10; i++) {
            array[i] = user.nextInt();
        }
        for (i = 0; i < 9; i++)
            for (j = 0; j < 9 - i; j++)
                if (array[j] > array[j + 1]) {
                    temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
        System.out.print("data from small to large:");
        for (i = 0; i < 10; i++) {
            System.out.format("%d ", array[i]);
        }
    }
}

C语言

代码语言:javascript
复制
#include <stdio.h>

int main()
{
    int array[10], i, j, temp;
    printf("please enter 10 integers:");
    for (i = 0; i < 10; i++)
    {
        scanf("%d", &array[i]);
    }
    for (i = 0; i < 9; i++)
        for (j = 0; j < 9 - i; j++)
            if (array[j] > array[j + 1])
            {
                temp = array[j];
                array[j] = array[j + 1];
                array[j + 1] = temp;
            }
    printf("data from small to large:");
    for (i = 0; i < 10; i++)
    {
        printf("%d ", array[i]);
    }
    return 0;
}

说明

Bubble Sort介绍:
  1. 冒泡排序是一种简单直观的排序算法。通过"重复性地比较需要排序的数列,一次比较两个元素,若顺序错则交换"的方法完成排序。
  2. 算法步骤: (1)比较相邻位置的两个元素,若前者大于后者,则交换顺序; (2)重复步骤一,对所有数据遍历走访,此时,末尾元素最大; (3)对除末尾元素外的其他元素重复以上操作; (4)上述步骤重复次数逐渐减少,直到没有任何数据需要进行比较;
核心:
代码语言:javascript
复制
for (i = 0; i < N - 1; i++)         //i控制比较趟数
    for (j = 0; j < N - 1 - i; j++) //j控制每趟比较次数
        if (a[j] > a[j + 1])        //根据实际情况从大到小或从小到大输出,此处为从小到大
        {
            temp = a[j];
            a[j] = a[j + 1];
            a[j + 1] = temp;
        }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 解题步骤
  • Java
  • C语言
    • 说明
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档