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

原题链接:1283: 简单排序


python代码如下:

import math# 快速排序
def quick_sort(arr, left=None, right=None):left = 0 if not isinstance(left, (int, float)) else leftright = len(arr) - 1 if not isinstance(right, (int, float)) else rightif left < right:partition_index = partition(arr, left, right)quick_sort(arr, left, partition_index - 1)quick_sort(arr, partition_index + 1, right)return arrdef partition(arr, left, right):pivot = leftindex = pivot + 1i = indexwhile i <= right:if arr[i] < arr[pivot]:swap(arr, i, index)index += 1i += 1swap(arr, pivot, index - 1)return index - 1def swap(arr, i, j):arr[i], arr[j] = arr[j], arr[i]T = int(input())
for i in range(T):s = input().split()lt = [int(x) for x in s]lt1 = lt[::-1]lt1.pop()lt1 = lt1[::-1]n = len(lt1)quick_sort(lt1, 0, n - 1)for j in range(n):if j != n - 1:print(lt1[j], end=' ')else:print(lt1[j])

C语言代码如下:

#include <stdio.h>
#include <string.h>
#define N 1010int Paritition1(int A[], int low, int high)
{int pivot = A[low];while (low < high){while(low < high && A[high] >= pivot){--high;}A[low] = A[high];while (low < high && A[low] <= pivot){++low;}A[high] = A[low];}A[low] = pivot;return low;}void quick_sort(int A[], int low, int high) //快排母函数{if (low < high){int pivot = Paritition1(A, low, high);quick_sort(A, low, pivot - 1);quick_sort(A, pivot + 1, high);}}int main()
{int m,n,i,j,t,a[N];scanf("%d",&m);while(m--){scanf("%d",&n);memset(a,0,n);         //初始化数组for(i=0;i<=n-1;i++)       //输入scanf("%d",&a[i]);quick_sort(a,0,n-1);for(i=0;i<=n-1;i++)      //输出 {if(i!=n-1)printf("%d ",a[i]);elseprintf("%d\n",a[i]);}}return 0;
}

TZC 1283: 简单排序 —— 快速排序相关推荐

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

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

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

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

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

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

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

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

  5. TZC 1283: 简单排序 —— 选择排序

    我们以TZC 1283为例简单说明一下排序(含十大经典排序算法)的python实现方法和C实现方法.比较排序过程中,按住某一个数和后面的所有数都比较一下,如果前者大于后者,则进行交换,比较排序过程中显 ...

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

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

  7. TZC 1283: 简单排序 —— 比较排序

    我们以TZC 1283为例简单说明一下排序(含十大经典排序算法)的python实现方法和C实现方法.比较排序是最简单的一种方法,核心实质就是按住第一个和后面所有的都比较一下,然后第二趟再按住第二个和后 ...

  8. TZC 1283: 简单排序 —— 函数法

    我们以TZC 1283为例简单说明一下排序(含十大经典排序算法)的python实现方法和C实现方法.首先来说函数法,python中可以使用sort函数,C语言可以使用qsort函数实现. 原题链接:1 ...

  9. C#实现(递归和非递归)快速排序和简单排序

    C#实现(递归和非递归)快速排序和简单排序 本人因为最近工作用到了一些排序算法,就把几个简单的排序算法,想冒泡排序,选择排序,插入排序,奇偶排序和快速排序等整理了出来,代码用C#代码实现,并且通过了测 ...

最新文章

  1. [android] 异步http框架与实现原理
  2. android studio快捷键大全
  3. Linux修改文件/目录权限
  4. pythoncsv数据怎么读_python如何读写csv数据
  5. web.config中httpRunTime的属性(转)
  6. Windows性能查看器:系统的性能信息(I/O,IIS最大连接数,Sql) ,以及解决 asp.net IIS 一二百多用户并发...
  7. Redis持久化总结
  8. SpringMVC之源码分析--HandlerMapping(一)
  9. java获取当前日期时间_Java日期时间API系列10-----Jdk8中的DateTimeFormatter
  10. ping命令linux软件包,linux下安装 ping 命令
  11. SpringBoot POM 热部署(spring-boot-devtools)
  12. POJ 2409 Let it Bead【Polya定理】(模板题)
  13. (原创)使用nRF51822/nRF51422创建一个简单的BLE应用 ---入门实例手册(中文)之五...
  14. 银行剧震!国内第一家无人银行来了...
  15. 【TSP】基于matlab遗传算法求解旅行商问题【含Matlab源码 1337期】
  16. 月光博客:我的知识管理工具列表(强烈推荐收藏)
  17. MFC+Opencv实现图片视频处理和人脸识别
  18. 计算机的四屏故障维修,计算机应用之显卡故障维修技巧
  19. uni-app 数据上拉加载更多功能
  20. KP700 comfort 精致面板与西门子1200CPU进行时钟同步

热门文章

  1. stm32f407zg跟ze的区别_STM32F407ZG Datasheet(数据表) 1 Page - STMicroelectronics
  2. word文档中论文如何查看字数?
  3. 单元格内多个姓名拆分成一列_快速拆分单元格中的多个姓名
  4. 跨国企业在中国 | 加特可苏州工厂开业生产尖端变速器;格拉默与一汽子公司办合资企业...
  5. 女性乳房纤维瘤严重吗 乳腺纤维瘤是怎么形成的
  6. 极端热浪席卷欧洲,高温冲至47度!欧洲市场将迎来哪些机遇?
  7. 数字类型以及类型转换
  8. 【幻化万千戏红尘】qianfengDay09-java基础学习:接口,抽象类,抽象方法,多态,instanceof
  9. 子弹短信APP用户体验及界面设计浅析01
  10. FPS之游戏绘制(六)