C++五种排序方法(有参考)

2023-10-27

快速排序、堆排序、希尔排序、冒泡排序、选择排序

数据结构选择:数组
概要设计:定义一个容量为一亿个整数的数组,定义变量n,用rand函数生成n个随机数,并赋值给数组,用clock函数计算排序所用时间。编写排序函数和主函数。

一、快速排序

#include<iostream>
#include <ctime>
#include<cstdlib> 
using namespace std;
int a[100000000],n;
void partition(int A[],int s, int t, int& cutpoint)
{
   
	int x=A[s];
	int i=s,j=t;
	while(i!=j){
   
	while(i<j&&A[j]>x)
	j--;
	if(i<j)
	{
   
		A[i]=A[j];
		i++;
	}
	while(i<j&&A[i]<x)
	i++;
	if(i<j)
	{
   
		A[j]=A[i];
		j--;
	}
	}
	A[i]=x;
	cutpoint=i;
} 
void quicksort(int A[],int s,int t)
{
   
	int f;
	if(s<t)
	{
   
		partition(A,s,t,f);
		quicksort(A,s,f-1);
		quicksort(A,f+1,t);
	}
	
}
int main()
 {
   
 cin >>n;
 for (int c=0;c<n;c++)
 a[c]=rand();
int begintime=clock();
 quicksort(a,0,n-1);
 int endtime = clock(
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++五种排序方法(有参考) 的相关文章

  • IIS应用程序池回收+quartz调度

    我正在 IIS 7 5 上运行一个 Web 应用程序 它需要偶尔回收 否则内存使用情况会失控 这是我正在研究的问题 当它回收时 它实际上不会运行 直到另一个请求到来 而quartz不会运行 有没有办法让IIS在回收应用程序池后立即自动启动1
  • 多个源的 makefile

    在学习 make 文件时 我试图为多个源目录编写一个 make 文件 似乎我在某个地方错了 这是我的代码结构 directory common fun2 c inc fun h src fun1 c main c 这是我的生成文件 CC c
  • json.net自定义jobject反序列化

    我正在尝试使用 JsonConvert DeserializeObject string 将字符串反序列化为可与动态一起使用的 jobject 来动态访问 json 文档 但是我想避免知道文档的大小写 以便我可以输入 dynamic doc
  • 将 new 与 decltype 一起使用

    T t T is an implementation detail t new T want to avoid naming T to allow for flexibility t new decltype t error cannot
  • Poco c++Net:Http 从响应中获取标头

    我使用 POCO C Net 库进行 http 我想尝试制定持久缓存策略 首先 我认为我需要从缓存标头中获取过期时间 并与缓存值进行交叉检查 如果我错了 请告诉我 那么我如何从中提取缓存头httpResponse 我已经看到你可以用 Jav
  • 在 OnModelCreating 期间设置列名称

    Issue 我目前正在尝试通过设置的属性为我的表及其列添加前缀 我正在使用实体框架核心 我已经正确地为表名添加了前缀 但我似乎无法弄清楚列的前缀 我有一种感觉 我需要使用反射 我已经留下了我的 可能很糟糕的 反思尝试 有人有办法在实体中设置
  • 删除是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 C 编程 free 如何知道要释放多少 https stackoverflow com questions 1518711 c programming how does free know how m
  • 运行需要 MySql.Data 的内置 .NET 应用程序

    我在运行我编写的内置 NET 应用程序时遇到问题 我的应用程序使用最新的 MySql 连接器 该连接器安装在我的系统上 当我尝试将其添加为引用时 该连接器显示为 NET 4 Framwork 组件 当我在环境中以调试模式运行应用程序时 一切
  • 将表(行)与 OpenXML SDK 2.5 保持在一起

    我想在 Word 文档中生成多个表 每行 2 行 但我想将这两行保留在一起 如果可能的话 new KeepNext 第一行不起作用 new KeepNext 第一行的最后一段不起作用 new CantSplit 放在桌子上不起作用 在所有情
  • 使用查询表达式对 List 进行排序

    我在使用 Linq 订购这样的结构时遇到问题 public class Person public int ID get set public List
  • 使用 C# 和 wpf 创建类似 Dock 的应用程序

    我需要创建一个与我们购买笔记本电脑时获得的应用程序类似的应用程序 仅当鼠标指针到达窗口顶部时它才可见 那么我怎样才能使用 C 4 0 来做到这一点呢 http www notebookcheck net uploads pics win2
  • 在 asp.net MVC 中使用活动目录进行身份验证

    我想使用活动目录对我的 asp net mvc 项目中的用户进行身份验证 在网上冲浪了几个小时后 我没有找到任何对我有用的东西 我已经看到了所有结果 但什么也没有 我尝试按照许多帖子的建议编辑我的 web config 如果有人可以帮助我提
  • 如何使用 NPOI 按地址(A1、A2)获取 Excel 单元格值

    我有一个 Excel 单元格地址 例如 A1 A2 如何使用 C 中的 NPOI 框架以编程方式访问此单元格 我找到的一些 Java POI 示例代码 CellReference cr new CellReference A1 row my
  • Project Euler #8,我不明白我哪里出了问题[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在做项目欧拉第八题 https projecteuler net problem 8 其中我得到了这个大得离谱的数字 7316
  • 如何从 Rx Subscribe 回调异步函数?

    我想回调 Rx 订阅中的异步函数 例如 像那样 public class Consumer private readonly Service service new Service public ReplaySubject
  • 使用 jQuery 从 ASP.Net JSON 服务获取数据

    我正在尝试调用 Google 地图地理编码 API 从纬度 经度对中获取格式化的地址 然后将其记录到控制台 我正在尝试获取为给定位置返回的第一个 formatted address 项目 我很简单无法从 JSON 中提取该项目 我不知道为什
  • 在 C#.NET 中安全删除文件

    在我正在做的一个项目中 我想为用户提供 安全 删除文件的选项 例如 用随机位或 0 覆盖它 在 C NET 中是否有一种简单的方法可以做到这一点 效果如何 你可以调用系统内部删除 http technet microsoft com en
  • INotifyPropertyChanged 和 propertyName

    我一直不确定它的含义propertyName实施时INotifyPropertyChanged 所以一般来说你实现INotifyPropertyChanged as public class Data INotifyPropertyChan
  • 如何使用placement new重新初始化该字段?

    我的课程包含字段 private OrderUpdate curOrderUpdate 我一遍又一遍地使用它 经常需要重新初始化 for int i 0 i lt entries size i auto entry entries i ne
  • 为什么匹配模板类上的部分类模板特化与没有模板匹配的另一个部分特化不明确?

    这个问题可能很难用标题中的句子来描述 但这里有一个最小的例子 include

随机推荐

  • ARKit从入门到精通(1)-ARKit初体验

    ARKit从入门到精通 1 ARKit初体验 转载请标注出处 http blog csdn net u013263917 article details 72903174 以及版权归属黑马程序员 http www itheima com 下
  • Python灰帽编程——初识Python上篇

    文章目录 1 Python简介 1 1 Pyhton 特点 1 2 环境准备 1 2 1 Python 版本 1 2 2 CentOS7 下安装Python 1 2 2 1 编译安装 1 2 2 2 安装测试 1 2 2 3 配置pip3
  • Python3 3.6版 安装pip 出现错误 ModuleNotFoundError: No module named ‘distutils.util‘

    Python3 3 6版 安装pip 出现错误 ModuleNotFoundError No module named distutils util 如下链接的get pip py适合python 3 7以上 curl https boot
  • redis 集群命令

    CLUSTER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点 node 以及这些节点的相关信息 节点 CLUSTER MEET
  • 关于OriginPRO/Origin画图消锯齿以及平滑点与点之间的连接

    使用环境 蓝色粗体字为特别注意内容 1 软件环境 Win7 32 bit OriginPro 2018C 在使用Origin或者OriginPro画图的时候可能会遇到两个细节问题 1 曲线有锯齿 2 点与点之间的连线很尖锐 平滑 网上很多资
  • C++学习笔记day3

    继承 好处 减少重复代码 语法 class 子类 继承方式 父类 子类也称为派生类 父类也称为基类 继承中的对象模型 父类中所有的非静态成员都会被子类继承 利用开发人员命令提示工具查看对象模型 跳转盘符 C 跳转文件路径 cd 具体路径下
  • c语言程序 计算全班平均成绩,用c语言编写程序:计算班级每位学生的平均成绩。...

    匿名用户 1级 2011 01 08 回答 第一题 include stdio h float Grade float num int i 用来冒泡排序 num传入数组指针 i传入数组个数 int j k float temp for j
  • 初次使用GPU,遇到的一些cuda error及解决办法

    1 GPU RuntimeError CUDA error invalid device ordinal 解决办法 可能是在程序的多个地方都定义了使用的cuda编号 即使编号是一样的也会报这样的错误 解决办法是只保留一个 2 使用os en
  • nodejs是单线程还是多线程_node是多线程还是单线程?

    node是单线程的 采用单线程异步非阻塞模式 因为javascript引擎的关系 node默认是单线程 一个node js应用无法利用多核资源 Node js采用事件驱动和异步I O的方式 实现了一个单线程 高并发的运行时环境 而单线程就意
  • 汉诺塔问题(Hanoi)-python递归实现

    描述 描述 一 汉诺塔问题 有三根杆子A B C A杆上有N个 N gt 1 穿孔圆盘 盘的尺寸由下到上依次变小 要求按下列规则将所有圆盘移至C杆 每次只能移动一个圆盘 大盘不能叠在小盘上面 提示 可将圆盘临时置于B杆 也可将从A杆移出的圆
  • idea创建父子项目

    1 先创建父项目 左上角 file gt new gt project 然后选择 点击next Group和Artifact自己填写 Java Version 改成8 Name自己写 其他默认 然后next 这一步是添加依赖 我们只简单测一
  • Jenkins+基础系列16:番外篇--Manage and Assign Roles 角色权限控制插件

    1 下载插件 Role based Authorization Strategy 安装成功后 可以重启下 2 菜单查看 3 菜单简介 4 Manage Roles 设置 5 Assign Roles 设置 6 视图名称和job名称设置 由于
  • R语言 朴素贝叶斯分类预测

    朴素贝叶斯预测分类问题代码 install packages e1071 下载包 library e1071 加载包 classifier naiveBayes iris 1 4 iris 5 构建分类器 table predict cla
  • L1-040. 最佳情侣身高差

    专家通过多组情侣研究数据发现 最佳的情侣身高差遵循着一个公式 女方的身高 1 09 男方的身高 如果符合 你俩的身高差不管是牵手 拥抱 接吻 都是最和谐的差度 下面就请你写个程序 为任意一位用户计算他 她的情侣的最佳身高 输入格式 输入第一
  • JMETER入门_06_jmeter集合点

    JMETER入门系列 JMETER入门 01 环境配置 JMETER入门 02 基础知识介绍 JMETER入门 03 jmeter请求实例 JMETER入门 04 jmeter压力测试实例 JMETER入门 05 jmeter参数管理 ht
  • LeetCode【434】 字符串中的单词数

    题目 统计字符串中的单词个数 这里的单词指的是连续的不是空格的字符 请注意 你可以假定字符串里不包括任何不可打印的字符 示例 输入 Hello my name is John 输出 5 public int countSegments St
  • 深度强化学习系列(16): 从DPG到DDPG算法的原理讲解及tensorflow代码实现

    1 背景知识 在前文系列博客第二篇中讲解了DQN 深度强化学习DQN原理 可以说它是神经网络在强化学习中取得的重大突破 也为强化学习的发展提供了一个方向和基础 Sliver等人将其应用在Atari游戏中取得了重大突破 后来大批量的论文均采用
  • JavaScript 入门基础 - 变量 / 数据类型(二)

    JavaScript 入门基础 变量 数据类型 二 文章目录 JavaScript 入门基础 变量 数据类型 二 1 变量 1 1 什么是变量 1 2 变量在内存中的存储 1 3 变量的使用 1 4 变量语法扩展 1 4 1 更新变量 1
  • kettle配置资源库

    kettle 数据库资源库配置 在使用kettle过程中可以配置资源库 将建好的作业和转换都保存在资源库中 下次直接登录就可以看到所有保存的作业和转换 本教程使用kettle v8 2 mysql 5 7 24做演示 方法 步骤 前期准备工
  • C++五种排序方法(有参考)

    快速排序 堆排序 希尔排序 冒泡排序 选择排序 数据结构选择 数组 概要设计 定义一个容量为一亿个整数的数组 定义变量n 用rand函数生成n个随机数 并赋值给数组 用clock函数计算排序所用时间 编写排序函数和主函数 一 快速排序 in