我们以TZC 1283为例简单说明一下排序(含十大经典排序算法)的python实现方法和C实现方法。比较排序过程中,按住某一个数和后面的所有数都比较一下,如果前者大于后者,则进行交换,比较排序过程中显然要交换的次数较多,较为理想的方式是按住某一个数,然后在后面所有数中找到最小值再进行比较和交换,这样交换的次数会减少。

原题链接:1283: 简单排序


python代码如下:

# 选择排序
def choose_sort(lst):for a in range(0, len(lst) - 1):p = afor b in range(a+1, len(lst)):if lst[p] > lst[b]:p = bif p != a:t = lst[p]lst[p] = lst[a]lst[a] = tT = int(input())
for i in range(T):s = input().split()lt = [int(x) for x in s]lt1 = lt[::-1]lt1.pop()n = len(lt1)choose_sort(lt1)for j in range(n):if j != n - 1:print(lt1[j], end=' ')else:print(lt1[j])

C语言代码如下:

#include <stdio.h>
void choosesort(int x[],int n)    // 选择排序
{int i,j,p,temp;for(i=0;i<n-1;i++){p=i;for(j=i+1;j<n;j++){if(x[p]>x[j]){p=j;}}if(p!=i){temp=x[p];x[p]=x[i];x[i]=temp;}}
}
int main()
{int m,n,i,j,a[1000]={0};scanf("%d",&m);while(m--){scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);choosesort(a,n);for(i=0;i<n-1;i++)printf("%d ",a[i]);printf("%d\n",a[n-1]);}return 0;
}

TZC 1283: 简单排序 —— 选择排序相关推荐

  1. 算法图解/二分查找/简单查找/选择排序/递归算法/快速排序算法/

    大 O 表示法 大 O 表示法在讨论运行时间时,log 指的都是 log2 大 O 表示法指出了算法有多快,让你能够比较操作数,它指出了算法运行时间的增速,而并非以秒为单位的速度. 大 O 表示法指出 ...

  2. 简单的选择排序(内部排序)

    1 /** 2 * 3 */ 4 package com.trfizeng.selectionsort; 5 6 /** 7 * @author trfizeng 内部排序 选择排序-简单选择排序(S ...

  3. 从简单的选择排序入手,深刻理解程序

    深刻理解选择排序 选择排序法基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换:第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换:以此类推, ...

  4. TZC 1283: 简单排序 —— 归并排序

    我们以TZC 1283为例简单说明一下排序(含十大经典排序算法)的python实现方法和C实现方法.归并排序原理请参见:https://www.jianshu.com/p/33cffa1ce613 或 ...

  5. TZC 1283: 简单排序 —— 快速排序

    我们以TZC 1283为例简单说明一下排序(含十大经典排序算法)的python实现方法和C实现方法.快速排序原理请参见:https://www.runoob.com/w3cnote/quick-sor ...

  6. TZC 1283: 简单排序 —— 堆排序

    我们以TZC 1283为例简单说明一下排序(含十大经典排序算法)的python实现方法和C实现方法.堆排序原理请参见:https://blog.csdn.net/u010452388/article/ ...

  7. TZC 1283: 简单排序 —— 希尔排序

    我们以TZC 1283为例简单说明一下排序(含十大经典排序算法)的python实现方法和C实现方法.希尔排序原理请参见:https://www.cnblogs.com/chengxiao/p/6104 ...

  8. TZC 1283: 简单排序 —— 插入排序

    我们以TZC 1283为例简单说明一下排序(含十大经典排序算法)的python实现方法和C实现方法.冒泡排序原理请参见:https://zhuanlan.zhihu.com/p/122293204 或 ...

  9. TZC 1283: 简单排序 —— 冒泡排序

    我们以TZC 1283为例简单说明一下排序(含十大经典排序算法)的python实现方法和C实现方法.冒泡排序原理请参见:https://www.runoob.com/w3cnote/bubble-so ...

最新文章

  1. 可能是Asp.net Core On host、 docker、kubernetes(K8s) 配置读取的最佳实践
  2. 云下IDC和云上VPC如何高速稳定互联?——云专线接入方案
  3. Cesium中级教程6 - 3D Models 三维模型
  4. 检查本地是否存在某个文件
  5. three.js 使用DragControls.js 拖动元素
  6. html怎么用excel打开乱码,我的Excel表格打开就乱码了,请问该如何修复?
  7. 进制转化(二进制,八进制,十进制,十六进制)详细教程
  8. 弘辽科技:淘宝店铺违规再也不用怕了 这个新规能抵消扣分处罚
  9. 线性方程组6种数值解法的对比研究
  10. Django-路由管理 path view
  11. 有discuz数据库,忘了管理员密码,怎样进后台
  12. 设置PPT幻灯版自动翻页播放
  13. tor 安装及使用教程
  14. IPEndPoint 和 EndPoint
  15. 0.96寸IIC接口ssd1306和ssd1315驱动oled12864屏幕介绍
  16. Mask RcNN论文翻译
  17. 简单交错序列前N项和
  18. 华摄氏度和摄氏度的转换小数点处理 单片机
  19. Java毕业设计_申通物流车辆调度系统设计与实现
  20. bash shell实现2048小游戏详解

热门文章

  1. [Music]你的微笑
  2. 计算机考试有专业知识要求吗,事业单位考试中的计算机知识具体指什么,难考吗...
  3. 有了网站 需要推广啊,本人收集了大量资源 奉献出来
  4. 信号处理中简单实用的方法——消除趋势项
  5. 知彼知己 - 细数各大互联网网站系统的实现语言
  6. 2020年中国第三方跨境支付行业研究报告
  7. 2017 年崛起的 JS 项目
  8. 【阿里资讯】阿里巴巴再谈大数据新生态,CEO张勇如是说
  9. 【光线追踪系列十三】Cornell Box场景搭建
  10. IntelliJ IDEA快速入门 | 第三十一篇:在IntelliJ IDEA 2020.3.3中添加Tomcat镜像并部署Web工程