基础练习

来源:互联网 发布:逆战刷死亡猎手软件 编辑:程序博客网 时间:2024/05/11 03:59

继续刷积分中
数列排序

/*基础练习 数列排序问题描述  给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式  第一行为一个整数n。  第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式  输出一行,按从小到大的顺序输出排序后的数列。样例输入58 3 6 4 9样例输出3 4 6 8 9*/#include <stdio.h>int main(){    int n,i,j,s,a[200];    scanf("%d",&n);    for(i=1;i<=n;i++)    {        scanf("%d",&a[i]);    }    i=n+1;    while(i--)    for(j=1;j<i;j++)    {        if(a[j]>a[j+1])        {            s=a[j+1];            a[j+1]=a[j];            a[j]=s;        }    }    for(i=1;i<=n;i++)    printf("%d ",a[i]);    return 0;}/*#include <stdio.h>#include <stdlib.h>void Print(int *data,int n){    int i;    for(i=0;i<n;i++)    {        printf("%d ",data[i]);    }    printf("\n");}int Split(int *data,int pre,int rear){    int value=data[pre];    while(pre<rear)    {        while(data[rear]>=value && pre<rear) rear--;        data[pre]=data[rear];        while(data[pre]<value && pre<rear) pre++;        data[rear]=data[pre];    }    data[pre]=value;    return pre;}//快速排序void QuickSort(int *data,int pre,int rear){    if(pre<rear)    {        int mid=Split(data,pre,rear);        QuickSort(data,pre,mid-1);        QuickSort(data,mid+1,rear);    }}int main(){    int i;    int n;    int *data;    scanf("%d",&n);    data=(int *)malloc(sizeof(int)*n);    for(i=0;i<n;i++)    {        scanf("%d",&data[i]);    }    QuickSort(data,0,n-1);    Print(data,n);    return 0;}*/
0 0
原创粉丝点击