如果看的人多的话就再出一篇原理
该冒泡程序要求用户输入需排序个数,再输入需排序数
直接上代码
C++
//由小到大排序
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
//输入个数
int arr[n];
for(int i=1;i<=n;i++){
cin>>arr[i];
}
//输入需排序数组
for(int i=1;i<=n;i++) //循环n的平方次,保证全部排好序
for(int j=1;j<=n;j++)
if(arr[j]>arr[j+1]){
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp; //经典交换
}
for(int i=1;i<=n;i++)
cout<<arr[i]<<" ";
}
C
#include<stdio.h>
main()
{
int i,j;
//初始化for循环变量
int n;
scanf("%d",&n);
//个数
int arr[n];
//创建数组
for(i=1;i<=n;i++)
scanf("%d",&arr[i]);
//逐个输入
for(i=1;i<=n;i++) //原理同C++
for(j=1;j<=n;j++)
if(arr[j]<arr[j+1]){
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp; //原理同C++
}
}
Java
import java.util.Scanner;
public class BubbleSort{
//文件名应为BubbleSort.java
public static void main(String[] args){
int n;
Scanner s = new Scanner(System.in);
//创建对象,java的输入要靠他
n = s.nextInt();
//输入一个整数n
int arr[] = new int[n];
//创建数组
for(int i=0;i<n;i++){
arr[i] = s.nextInt();
}
for(int i=0;i<n;i++){ //原理同C++
for(int j=0;j<n;j++){
if(arr[j]<arr[j+1]){
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp; //原理同C++
}
}
}
for(int i=0;i<n;i++){
System.out.print(arr[i] + " ");
}
}
}
还算比较简单,基本上看看就懂了。如代码有错处,欢迎指正!