小亮搬凳子

小亮搬凳子

时间: 1ms        内存:128M

描述:

小亮想把一些高低不等的凳子按照从低到高的顺序摆好,但是他觉得工作量太大,于是小亮找小平帮忙,但是小平喜欢动脑筋,每次从凳子里找最矮的那个,把它跟第一个凳子交换位置,然后在剩下的凳子中找一个最矮的,把它跟剩下的凳子中的第一个交换位置,直到凳子有序为止。你能按照小平的的方法完成任务吗?

输入:

输入有两行
第一行输入一个整型变量n表示接下来有n个数待排序
第二行有n个数

输出:

排序后的n个数

示例输入:

7
2 1 4 3 5 7 6

示例输出:

1 2 3 4 5 6 7

提示:

参考答案(内存最优[920]):


#include <stdio.h>
int main()
{
    int n;
    void SelectionSort(int[],int);
    scanf("%d",&n);
    int i=n,a[100];
    for(i=0; i<n; i++)
    {
        scanf("%d",&a[i]);
    }
    SelectionSort(a,n);
    for(i=0; i<n; i++)
    {
        printf("%d ",a[i]);
    }
}
void SelectionSort(int a[100], int n)

{

        int t,i,j;
    for(i=0; i<9; i++)
        for(j=i+1; j<n; j++)

            if(a[i]>=a[j])
            {
                t=a[j];
                a[j]=a[i];
                a[i]=t;

            }

}

参考答案(时间最优[0]):


#include <stdio.h>
int main()
{
    int n;
    void SelectionSort(int[],int);
    scanf("%d",&n);
    int i=n,a[100];
    for(i=0; i<n; i++)
    {
        scanf("%d",&a[i]);
    }
    SelectionSort(a,n);
    for(i=0; i<n; i++)
    {
        printf("%d ",a[i]);
    }
}
void SelectionSort(int pArry[], int iLen)
{
    int i, j;
    int k;
    int temp;
    for(i=0; i<iLen; i++)
    {
        k=i;
        for (j=i+1; j<iLen; j++)
        {
            if(pArry[j]<pArry[k])
            {
                k=j;
            }
        }
        if(k!=i)
        {
            temp=pArry[i];
            pArry[i]=pArry[k];
            pArry[k]=temp;
        }
    }
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注