练习5—冒泡排序

简介: 练习5—冒泡排序

题目

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

解题步骤

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

Java

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语言

#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)上述步骤重复次数逐渐减少,直到没有任何数据需要进行比较;

核心:

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;
        }
相关文章
|
7月前
|
搜索推荐 C++
C++冒泡排序的实现
C++冒泡排序的实现
|
27天前
冒泡排序
冒泡排序。
32 5
|
6月前
|
算法 Java
冒泡排序就是这么容易
冒泡排序就是这么容易
26 1
|
7月前
|
搜索推荐
什么是冒泡排序
什么是冒泡排序
|
7月前
|
搜索推荐
什么是冒泡排序?
什么是冒泡排序?
75 0
|
算法 C语言
冒泡排序——“C”
冒泡排序——“C”