首页 > 代码库 > ACM——简单排序

ACM——简单排序

简单选择排序

时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte
总提交:836            测试通过:259

描述

 

给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中的简单选择排序算法进行排序,并输出排序过程中每趟及最后结果的相应序列。

 

输入

 

共两行,第一行给出排序元素数目n,第二行给出n个元素,1n400,每个元素值范围为 [0100000)

 

输出

 

三个部分

1部分为两行,第1行输出文字“Source:”,第2行给出原始序列;

2部分,开始输出文字“Select Sort:”,后续输出简单选择排序过程;

3部分,开始输出文字“Result:”,后续输出排序结果。

 

样例输入

7
48 36 68 72 12 48 2

样例输出

Source:
(48 36 68 72 12 48 2)
Select Sort:
(2) 36 68 72 12 48 48
(2 12) 68 72 36 48 48
(2 12 36) 72 68 48 48
(2 12 36 48) 68 72 48
(2 12 36 48 48) 72 68
(2 12 36 48 48 68) 72
Result:
(2,12,36,48,48,68,72)

提示

 数据结构A实验四

题目来源

CHENZ

 

#include<iostream>using namespace std;int main(){    int n,i;    std::cin>>n;    int *arr=new int[n];    for(i=0;i<n;i++)    {        std::cin>>arr[i];    }    std::cout<<"Source:"<<std::endl;    std::cout<<"(";    for(i=0;i<n;i++)    {        std::cout<<arr[i];        if(i<n-1)            std::cout<<" ";    }    std::cout<<")"<<std::endl;    std::cout<<"Select Sort:"<<std::endl;    for(i=0;i<n;i++)    {        int k=i;        for(int j=i+1;j<n;j++)        {            if(arr[j]<arr[k])            {                k=j;            }        }        if(k!=i)//交换数据        {            arr[i]=arr[i]+arr[k];            arr[k]=arr[i]-arr[k];            arr[i]=arr[i]-arr[k];            std::cout<<"(";            for(int m=0;m<n;m++)            {                std::cout<<arr[m];                if(m==i)                    std::cout<<")";                std::cout<<" ";            }            std::cout<<std::endl;        }    }    std::cout<<"Result:"<<std::endl;    std::cout<<"(";    for(i=0;i<n;i++)    {        std::cout<<arr[i];        if(i<n-1)            std::cout<<",";    }    std::cout<<")"<<std::endl;    return 0;}

 

题目来源:http://202.119.236.66:9080/acmhome/problemdetail.do?&method=showdetail&id=1061

 

简单选择排序

时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte
总提交:836            测试通过:259

描述

 

给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中的简单选择排序算法进行排序,并输出排序过程中每趟及最后结果的相应序列。

 

输入

 

共两行,第一行给出排序元素数目n,第二行给出n个元素,1n400,每个元素值范围为 [0100000)

 

输出

 

三个部分

1部分为两行,第1行输出文字“Source:”,第2行给出原始序列;

2部分,开始输出文字“Select Sort:”,后续输出简单选择排序过程;

3部分,开始输出文字“Result:”,后续输出排序结果。

 

样例输入

7
48 36 68 72 12 48 2

样例输出

Source:
(48 36 68 72 12 48 2)
Select Sort:
(2) 36 68 72 12 48 48
(2 12) 68 72 36 48 48
(2 12 36) 72 68 48 48
(2 12 36 48) 68 72 48
(2 12 36 48 48) 72 68
(2 12 36 48 48 68) 72
Result:
(2,12,36,48,48,68,72)

提示

 数据结构A实验四

题目来源

CHENZ