蓝桥杯 数列排序
题目
问题描述
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9
思路
假设i是外层循环,j为内层循环
i从1开始到数组最后,j从i-1到0,比较数组str[i]与str[j]的大小,如果str[j] > str[i],就交换数值,按照这个循环往下,i之前的一定是已经排好顺序的,保证了数列的顺序,所以当i到最大时,就已经排好顺序了
代码如下
#include<stdio.h>
void InsertSort(int a[], int n)
{
int i, j;
int temp