c++实现快速排序(c++ 快速排序问题 这段代码5个AC 5个TLE 该怎么改呀)

2024-07-24 05:49:15 94

c++实现快速排序(c++ 快速排序问题 这段代码5个AC 5个TLE 该怎么改呀)

本文目录

c++ 快速排序问题 这段代码5个AC 5个TLE 该怎么改呀

代码看起来没什么问题,从你得到的结果5AC 5TLE来看,大概率是数据卡取首快排,如果你把注释的那行取消注释也TLE,那数据可能也卡取中快排。试试随机快排吧:swap(s); //随机选择一个数字与第一个数交换

c++ 链表快速排序

参考代码,由于没有测试过,可能存在错误。#include 《iostream》using namespace std;typedef struct LStudent { string id; string name; float math; float chinese; float english; float aver;} Str_Stu;typedef struct LNode { Str_Stu data; struct LNode *next;}LNode, *pLinkList;enum SortType {__Math = 0, __Chinese, __English};class student { // 为了方便编写代码先把成员变量设置为publicpublic: pLinkList m_pList; int m_listLength;};inline void swap(Str_Stu **pp, int k, int j){ Str_Stu *temp; temp = pp; pp; pp = temp;}void qsort(Str_Stu **pp, int left, int right, SortType st){ int j, last; if (left 》= right) return; swap(pp, left, (left + right)/2); last=left; for (j = left+1; j 《= right; j++) { if (st == __Math && pp-》math) swap(pp, ++last, j); else if (st == __Chinese && pp-》chinese) swap(pp, ++last, j); else if (st == __English && pp-》english) swap(pp, ++last, j); } swap(pp, left, last); qsort(pp, left, last-1, st); qsort(pp, last+1, right, st);}void main(){ student ss; pLinkList cursor; Str_Stu **pp; int i =0; // do something here pp = new Str_Stu *; cursor = ss.m_pList; while (cursor) { pp = &cursor-》data; cursor = cursor-》next; } qsort(pp, 0, ss.m_listLength-1, __Math); for (i = 0; i 《 ss.m_listLength; ++i) { // output the sorted data here } qsort(pp, 0, ss.m_listLength-1, __Chinese); for (i = 0; i 《 ss.m_listLength; ++i) { // output the sorted data here } qsort(pp, 0, ss.m_listLength-1, __English); for (i = 0; i 《 ss.m_listLength; ++i) { // output the sorted data here } delete pp;}

用C++写快速排序时,排序结果对,但是在末尾有“-858993460”

输出到文件多了个数据,你自己读文件数个数就知道了是6个多出一个没赋值的了,查看语句找错误就解决了,你那循环外再度一个list写到文件中?

C++问题快速排序,无输出结果

函数Q()里出了问题

void Q(q R,int s,int t){int j=t,i=s;q tmp;if(s《t){tmp=R;while(i!=t)//这里有问题,导致进入死循环,改成while(i!=j){while(j》i && R.key》=tmp.key)j--;R;while(i《j && R.key《=tmp.key)i++;R;}R=tmp;Q(R,s,i-1);Q(R,i+1,t);}}

如果你能编译通过,改上面一行就行了,不过建议在包含头文件iostream时,这么用

#include《iostream》

using namespace std;

C++ 快速排序 随机30个数字

void swap(int a, int x, int y){ int tmp=a; a; a=tmp;} void qsort(int a, int l, int r){ if(l》=r) return; int i; int index=l; for(i=l+1;i《=r;i++) { if(a) { swap(a,index+1,i); swap(a,index,index+1); index++; } } qsort(a,l,index-1); qsort(a,index+1,r);}int find(int a, int l, int r, int key){ if(l》r) return -1; int mid=(l+r)/2; if(a《key) return find(a,mid+1,r,key); else if(a》key) return find(a,l,mid-1,key) else return mid;} void main(){ srand((unsigned int) time(0)); int a; int i; for(i=0;i《30;i++) a=rand()%100; qsort(a,0,29); int index=find(a,0,29,10); if(index《0) printf("can’t find this number\n"); else printf("find %d at a,index); } //没测试过。你自己试试吧。

c++实现快速排序(c++ 快速排序问题 这段代码5个AC 5个TLE 该怎么改呀)

本文编辑:admin

更多文章:


笔记本键盘贴膜(笔记本键盘贴膜有必要吗)

笔记本键盘贴膜(笔记本键盘贴膜有必要吗)

笔记本键盘贴膜有必要吗“笔记本键盘贴膜有必要吗?”这个问题的答案主要取决于用户的需求和习惯。以下是有关笔记本键盘贴膜的相关内容:1. 保护键盘:贴膜可以有效地防止键盘表面因为灰尘、污垢、液体等造成的损害。如果用户经常在键盘上吃东西或使用键盘

2024年7月23日 18:36

thinkpadt430(thinkpad t430当年价位)

thinkpadt430(thinkpad t430当年价位)

thinkpad t430当年价位ThinkPad T430是联想公司推出的一款商务笔记本电脑,于当年(发布后不久)的价位情况大致如下:1. 定价:ThinkPad T430的定价因配置、地区及销售渠道的不同而有所差异。一般来说,基础配置的

2024年7月25日 22:56

笔记本显示卡(笔记本显示卡怎么看)

笔记本显示卡(笔记本显示卡怎么看)

笔记本显示卡怎么看“笔记本显示卡”通常指的是笔记本电脑的图形处理单元(GPU),它是用来处理图形、图像和视频的硬件设备。要查看笔记本的显示卡,可以按照以下步骤进行:一、通过设备管理器查看1. 打开“控制面板”:在Windows系统中,点击“

2024年7月22日 07:48

索尼cs36h(索尼CS36h能换固态硬盘吗)

索尼cs36h(索尼CS36h能换固态硬盘吗)

索尼CS36h能换固态硬盘吗关于“索尼CS36h能否换固态硬盘”的问题,以下是条理清晰的解释:1. 硬件兼容性:首先需要确认索尼CS36h的硬件是否支持固态硬盘(SSD)的安装。这通常取决于其主板上的接口和电脑内部的空余空间。2. 接口类型

2024年7月28日 23:36

厦门笔记本(厦门笔记本电脑维修点查询)

厦门笔记本(厦门笔记本电脑维修点查询)

厦门笔记本电脑维修点查询当然可以。关于“厦门笔记本电脑维修点查询”的相关内容,我将为你条理清晰地解释:一、基本概述如果你在厦门地区的笔记本电脑需要维修,查询本地的维修点是很有必要的。厦门有众多的笔记本电脑维修服务网点,能够提供包括硬件故障诊

2024年7月12日 23:01

三星电脑驱动下载(三星电脑驱动下载方法)

三星电脑驱动下载(三星电脑驱动下载方法)

三星电脑驱动下载方法关于“三星电脑驱动下载方法”的相关内容,条理明确的解释如下:一、了解驱动的重要性驱动是连接电脑硬件与操作系统之间的桥梁,它能够让操作系统更好地识别和利用电脑硬件,从而实现各项功能的正常运作。如果电脑缺少或错误安装了驱动,

2024年7月15日 13:01

gtx750(gtx750发布日期)

gtx750(gtx750发布日期)

gtx750发布日期“GTX 750”是NVIDIA公司推出的一款中端显卡,其发布日期为2013年。以下是关于GTX 750发布日期的相关内容:GTX 750显卡是在2013年左右正式发布的,这是NVIDIA公司推出的一款基于开普勒架构的中

2024年7月18日 16:01

联想y470p-ifi(联想y470p-ifi配置参数)

联想y470p-ifi(联想y470p-ifi配置参数)

联想y470p-ifi配置参数联想Y470P-IFI是一款在市场上较为受欢迎的笔记本电脑,其配置参数如下:一、处理器与内存1. 处理器:联想Y470P-IFI搭载了英特尔的酷睿i5处理器,能够提供出色的多任务处理能力和流畅的系统运行速度。2

2024年7月8日 03:43

工业级平板电脑(工业级平板电脑如何重装系统)

工业级平板电脑(工业级平板电脑如何重装系统)

工业级平板电脑如何重装系统工业级平板电脑重装系统的方法和普通电脑重装系统类似,但因为其应用场景的特殊性,操作时需要更加注意。以下是关于“工业级平板电脑如何重装系统”的详细解释:一、准备工作1. 备份数据:在开始重装系统之前,请确保备份所有重

2024年7月11日 13:51

笔记本改触摸屏(笔记本改触摸屏幕)

笔记本改触摸屏(笔记本改触摸屏幕)

笔记本改触摸屏幕“笔记本改触摸屏幕”是一个涉及电子设备和计算机硬件的改装过程,下面将用条理明确的方式详细解释一下这一过程的相关内容。一、定义与理解改笔记本为触摸屏幕是指对已有的笔记本电脑进行升级改造,将原有的无触控功能升级为具有触控功能的过

2024年7月17日 21:11

thinkbook 14s(thinkbook 14s yoga)

thinkbook 14s(thinkbook 14s yoga)

thinkbook 14s yogaThinkBook 14s Yoga 是一款由联想(Lenovo)推出的轻薄型笔记本电脑。以下是关于 ThinkBook 14s Yoga 的相关内容解释:1. 设计与外观: - ThinkBook

2024年7月27日 02:41

联想v550(联想v550笔记本配置)

联想v550(联想v550笔记本配置)

联想v550笔记本配置好的,以下是对联想V550笔记本配置的详细解释:1. 处理器(CPU):联想V550笔记本的处理器配置可能因不同版本而异,但通常可能会搭载Intel的酷睿i系列或i7系列处理器。这些处理器具有较高的计算能力和多任务处理

2024年7月27日 00:56

宏基笔记本电脑图片(宏碁笔记本图片)

宏基笔记本电脑图片(宏碁笔记本图片)

宏碁笔记本图片“宏碁笔记本图片”通常指的是与宏碁(Acer)品牌笔记本电脑相关的图片。以下是一些关于“宏碁笔记本图片”的相关内容:1. 产品概述: - 宏碁是一家全球知名的电脑制造公司,其笔记本电脑产品广泛涵盖不同类型和价格范围,以满足

2024年7月19日 22:45

thinkbook 15p(thinkbook15p能用65w的充吗)

thinkbook 15p(thinkbook15p能用65w的充吗)

thinkbook15p能用65w的充吗关于“ThinkBook 15p能否使用65w充电器”的问题,条理明确的解释如下:1. ThinkBook 15p的设备参数与充电需求:ThinkBook 15p是一款笔记本电脑,其具体的充电需求和接

2024年7月25日 23:16

戴尔网上商城(戴尔网上商城官网)

戴尔网上商城(戴尔网上商城官网)

戴尔网上商城官网“戴尔网上商城官网”是一个在线购物平台,专门销售戴尔品牌的电脑、配件和电子产品。以下是关于“戴尔网上商城官网”的条理明确的解释:一、概述戴尔网上商城官网是戴尔公司为了方便消费者在线购买其产品而设立的官方购物网站。该网站提供丰

2024年7月11日 02:32

t420s(t420s电源)

t420s(t420s电源)

t420s电源“T420S电源”指的是一款电源产品,可能与服务器、计算机或某些特定设备有关。关于T420S电源的相关内容,下面提供一些主要的点来解释:1. 基本属性:T420S电源具备基本电源所具备的功能,即给相关设备供电并保证稳定的电流和

2024年7月25日 08:51

联想g505(联想g505笔记本详细参数)

联想g505(联想g505笔记本详细参数)

联想g505笔记本详细参数联想G505笔记本的详细参数如下:一、基本参数1. 型号:G5052. 处理器:该笔记本搭载了不同配置的处理器,如Intel或AMD的处理器,具体型号需根据具体配置而定。3. 操作系统:预装Windows操作系统。

2024年7月11日 17:22

联想b450报价(联想b450笔记本报价)

联想b450报价(联想b450笔记本报价)

联想b450笔记本报价关于“联想B450笔记本报价”的相关内容,以下是一些关键信息:1. 产品概述:联想B450是一款商务笔记本,通常以其耐用性、稳定性和相对实惠的价格而受到关注。这款笔记本常配备中等规格的硬件,适用于日常办公、学习、娱乐等

2024年7月9日 15:06

昭阳e47l(昭阳e47l拆机视频)

昭阳e47l(昭阳e47l拆机视频)

昭阳e47l拆机视频“昭阳e47l拆机视频”通常指的是关于联想昭阳E47L系列笔记本电脑的拆机过程和详细步骤的视频内容。下面是对此视频的相关内容的解释:1. 视频目的:此类视频的主要目的是为技术爱好者和对硬件维修感兴趣的消费者,展示笔记本电

2024年7月27日 15:41

thinkpadx230i(thinkpadx230i加装固态硬盘)

thinkpadx230i(thinkpadx230i加装固态硬盘)

thinkpadx230i加装固态硬盘关于ThinkPad X230i加装固态硬盘的相关内容,以下是一些条理清晰的解释:一、什么是固态硬盘?固态硬盘(SSD)是一种基于闪存技术的存储设备,与传统的机械硬盘相比,它具有更快的读写速度和更高的可

2024年7月23日 13:50

近期文章

firmly(firmly什么意思)
2024-10-22 20:15:37
本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2342
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1735
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1168
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1164
标签列表

热门搜索