//一道陈年老题了 只要静下心 分析一遍难度不大
// bubble.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
int number[100000];
void bubble_sort(int a[], int n)
{
int i, j, temp;
for (j = 0; j < n - 1; j++)
{
for (i = 0; i < n - j - 1; i++)
{
if (a[i]<a[i+1]) //这是从大到小 如果从小到大应该为> 也就是前一个数如果小于后一个 那么交换 类似于气泡从水中漂浮
{
temp = a[i]; /*交换它们*/
a[i ] = a[i + 1];
a[i + 1] = temp;
}
}
}
}
int main()
{
int *a = new int[255]; //最大255 这里需要有一个上限大小,我不知道怎么申请一个上限都不固定的数组
memset(a, 0, 255); //所有元素清零 memset适用于所有类型,不同于memcpy
int num = 0;
printf("请输入一串数\n"); //a是一个动态的数组 内容不固定 num是其内元素个数
do
{
scanf("%d", a + num);
num++;
} while (getchar() != '\n');
bubble_sort(a, num);
for (size_t i = 0; i < num; i++)
{
printf("%2d", *(a+i));
}
return 0;
}