简单选择排序

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

描述

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

输入

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

输出

三个部分

第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=;i<n;i++)
{
std::cin>>arr[i];
}
std::cout<<"Source:"<<std::endl;
std::cout<<"(";
for(i=;i<n;i++)
{
std::cout<<arr[i];
if(i<n-)
std::cout<<" ";
}
std::cout<<")"<<std::endl;
std::cout<<"Select Sort:"<<std::endl;
for(i=;i<n;i++)
{
int k=i;
for(int j=i+;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=;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=;i<n;i++)
{
std::cout<<arr[i];
if(i<n-)
std::cout<<",";
}
std::cout<<")"<<std::endl;
return ;
}
 

ACM——简单排序的更多相关文章

  1. Java数据结构和算法之数组与简单排序

    一.数组于简单排序 数组 数组(array)是相同类型变量的集合,可以使用共同的名字引用它.数组可被定义为任何类型,可以是一维或多维.数组中的一个特别要素是通过下标来访问它.数组提供了一种将有联系的信 ...

  2. 简单排序算法 C++类实现

    简单排序算法: 冒泡排序 插入排序 选择排序 .h代码: // // SortClass.h // sort and selection // // Created by wasdns on 16/1 ...

  3. iOS简单排序--字母排序、NSDictionary排序

    // 数组用系统方法compare做字母的简单排序 NSArray *oldArray = @[@"bac",@"bzd",@"azc",@ ...

  4. 简单排序算法设计(Java)

    总共有八种排序算法,还是慢慢看吧 1.简单排序算法 简单排序算法就是设置标兵,逐个比较数,然后查找插入位置,插入 public static void p(int[] a){ for(int i=0; ...

  5. Java数据结构和算法 - 简单排序

    Q: 冒泡排序? A: 1) 比较相邻的元素.如果第一个比第二个大,就交换它们两个; 2) 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数; 3) 针 ...

  6. 《Algorithms算法》笔记:元素排序(1)——简单排序

    <Algorithms算法>元素排序(1)——简单排序 Algorithms算法元素排序1简单排序 排序问题 1 回调函数 2Java中回调函数的路线图 3 全序 4 Comparable ...

  7. JavaScript中简单排序总结

    JavaScript中简单排序总结 冒泡排序 经典排序算法, 双重for循环 在第二个for循环的时候, j < arr.len -1 -i , 这一步的优化很重要 function bullS ...

  8. 《java数据结构与算法》系列之“简单排序"-冒泡,选择,插入

    好几天又没写,因为这几天很闲,平时忙的时候自己再累都不会睡着,但是呢这没事了,照理说应该是不瞌睡了,结果还睡着了. 所以说,人很贱.也验证了一句话,没有目标的人其实最无聊.人一定要有自己的工作,这工作 ...

  9. golang slice 简单排序

    原文链接:https://www.jianshu.com/p/603be4962a62 demo package main import ( "fmt" "sort&qu ...

随机推荐

  1. [CCC 1996 01]Deficient, Perfect, and Abundant

    CCC加拿大高中生信息学奥赛 其余来源 CODEVS[3312]——CCC 1996 01 Deficient, Perfect, and Abundant ——http://codevs.cn/pr ...

  2. jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。

    jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档. jquery.cookie中的操作: jquery.cookie.js是一个基于jquer ...

  3. Windows下部署Git Server端

    解决方案一: (注意:如果英文阅读没太大障碍,直接到Bonobo官网看相关文档即可.) win7(windows server 2008应该也可以,没测试过)+ IIS7.5(win7自带的)+ Gi ...

  4. Sql->Linq-> Lambda 相互转换

    Linq 转 SQL 或 Linq 转 Lambda : 工具: LinqPad Sql 转 Linq to Entity: 工具: Linqer

  5. JDK1.5新特性(二)……Static Import

    援引 Static Import - This facility lets you avoid qualifying static members with class names without t ...

  6. winpcap使用之捕获数据包

    第一种方法,调用回调函数 #include "pcap.h" /* packet handler 函数原型 */ void packet_handler(u_char *param ...

  7. shell截取字符串方法

    shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法.${parameter:-word}${parameter:=word}${parameter:?word}${p ...

  8. jQuery事件绑定的最佳实践

    如果你经常使用jQuery,那么你也许很熟悉事件绑定.这是很基本的东西,但是深入一点,你就能够找到机会让你事件驱动的代码变得不太零碎,并且更容易管理. 更好的选择器策略 让我们从基础的例子开始.下面的 ...

  9. java中服务器启动时,执行定时任务

    package com.ripsoft.util; import java.util.Calendar; import java.util.Timer; import javax.servlet.Se ...

  10. MyEclipse开发Web项目发布到Tomcat下的Root目录

    通常情况下,Web项目是发布到Tomcat下的webapps文件目录下的 .以至于我们访问的时候: 例如:Web应用项目名称为:webManager,则部署到tomcat后,是部署在tomcat/we ...