首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >对堆栈进行排序

对堆栈进行排序
EN

Stack Overflow用户
提问于 2011-05-25 13:06:45
回答 4查看 369关注 0票数 0

我知道如何对数组进行排序,但我以前没有对堆栈进行过排序。所以请帮帮忙。如何使用快速排序算法对堆栈进行排序?谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-25 13:11:35

我知道如何对数组进行排序,但我以前没有对堆栈进行过排序。

最有效的解决方案可能是将数据结构更改为允许随机访问的列表,然后对列表进行排序。也就是说,就像这样:

  1. 将堆栈中的所有元素放入数组中
  2. 使用您知道的算法对数组进行排序。
  3. 将所有元素放回堆栈中。

如果你绝对不想使用列表,你可能会发现这个解决方案很有趣。(从here窃取):

代码语言:javascript
运行
AI代码解释
复制
void sort(stack)
{
    type x;

    if (!isEmpty(stack)) {
        x = pop(stack);
        sort(stack);
        insert(x, stack);
    }           
}

void insert(x, stack)
{
    type y;

    if (!isEmpty(stack) && top(stack) < x) {
        y = pop(stack);
        insert(x, stack);
        push(y, stack);
    } else {
        push(x, stack);
    }
} 
票数 2
EN

Stack Overflow用户

发布于 2011-05-25 13:10:21

你说的“对堆栈进行排序”是什么意思?堆栈的整个思想是按照后进先出(LIFO)的顺序。使用堆栈的东西期望它们放在堆栈上的最新的东西将在堆栈的顶部,而旧的东西在它的下面,按照它们被插入的时间进行反向排序,因为这就是stacks 。如果你对堆栈进行排序,你会打破它。

票数 4
EN

Stack Overflow用户

发布于 2011-05-25 13:12:45

你能做的是..使用递归,递归地弹出堆栈中的元素,然后找到插入当前元素的最佳位置。如果您需要代码,请告诉我,但是在前面的评论中提到,对堆栈进行排序是完全不必要的:) :)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6124933

复制
相关文章
教你下载YouTube的视频
huolong
2023/07/26
2.3K0
教你下载YouTube的视频
正确下载youtube视频的方式
youtube这个不存在的网站上有很多有用的资料,一般来说我们是可以下载所有视频到本地以供离线的情况下的研究学习,网上有很多工具提供了下载功能,但是在试用了很多标称很好用的软件后,老高发现,真的没有一个能和youtube-dl相提并论,所以老高还是记录一下如何使用正确使用youtube-dl!
老高的技术博客
2022/12/28
1.2K0
YouTube 开始测试视频下载
由于 YouTube 不提供下载,所以你可以通过上百的站点,脚本,扩展和程序下载 YouTube 视频。最初,适合下载的格式是 FLV,这种格式只能使用 Adobe Flash 来播放。然后 YouTube 开始测试高清晰视频(包括 MP4),所以现在可以把 YouTube 视频导出成 MP4 格式。 其实下载 YouTube 导出的 MP4 文件,你可以使用以前下载 FLV 文件一样的 URL,然后在 URL 的最后附加上 "&fmt=18" 即可,如下:
Denis
2023/04/14
6850
YouTube 开始测试视频下载
使用命令行下载youtube的视频和字幕
老高买使用搬瓦工有好久了,但是直到今天才想起来用命令行下载youtube的视频,实在是惭愧。赶紧加班写篇文章赎罪!
老高的技术博客
2022/12/28
1.8K0
使用命令行下载youtube的视频和字幕
使用 youtube-dl 下载网络视频
youtube-dl 是一个命令行程序,用于从 YouTube.com 和其他几个网站下载视频。它需要 Python 解释器,版本2.6,2.7或3.2+,它是跨平台程序。它可以运行在 Unix 、Windows 或 macOS 上。它是开源的,这意味着你可以修改它,重新分配或使用它。本文介绍如何使用它从视频网站如 YouTube、Youku、Bilibili 等视频站点下载并处理视频
SkyRiN
2018/11/20
8.2K2
MediaHuman YouTube Downloader for Mac(视频下载软件)
MediaHuman YouTube Downloader 是一款适用于 Windows 和 macOS 的免费软件工具,允许用户从 YouTube、Vimeo、SoundCloud、DAIlymotion、VEVO 和其他网站下载视频和音乐。该软件支持多种视频和音频格式,如 MP4、AVI、FLV、MOV、WebM、MP3、M4A、OGG 等。
皮西歪
2023/03/12
1.4K0
MediaHuman YouTube Downloader for Mac(视频下载软件)
Pytube下载YouTube视频提示错误'streamingData'
Pytube是一个用Python编写的工具,可以方便地从YouTube下载视频。它有以下几个优点:
jackcode
2023/05/18
1.1K0
Pytube下载YouTube视频提示错误'streamingData'
用 yt-dlp 下载整个 YouTube 频道的视频
yt-dlp 是 youtube-dl 的一个分支,主要基于现在维护不太活跃的 youtube-dlc。该项目的主要重点是添加新功能和补丁,同时与原始项目保持同步。
生信菜鸟团
2022/02/17
7.2K0
用 yt-dlp 下载整个 YouTube 频道的视频
视频综合管理平台EasyNVS通道列表如何获得RTMP地址和RTSP地址?
视频综合管理平台EasyNVS是新一代的云上架构,能够将分布在不同区域和网络环境下的多套EasyNVR设备,统一接口进行登记和管理,借助云端的宽带资源解决单路设备在云直播中多路分发观看所需的上行宽带问题,及分布式存储在云端的回放问题。
EasyNVR
2020/08/11
8470
视频综合管理平台EasyNVS通道列表如何获得RTMP地址和RTSP地址?
iTubeGo YouTube Downloader for Mac(网页视频下载工具)
iTubeGo YouTube Downloader是一款功能强大的YouTube视频下载工具。它可以轻松地帮助用户从YouTube、Facebook、Instagram以及其他流行的视频网站上下载视频,并将其转换为各种格式,如MP4、MP3、AVI、MOV等。
快乐的小丸子
2023/04/04
1.8K0
YouTube下载方法
YouTube 是世界上最大的分享视频短片的网站,被Google收购,最近又要推出繁体中文版,中文用户也越来越多。我收集了一些下载 YouTube 网站上视频的方法:
Denis
2023/04/14
1.6K0
4K Video Downloader for Mac(YouTube视频下载器)
​​4K Video Downloader是一款专门为帮助您从不同的视频网站下载高清视频的软件工具,各大视频网站的视频都可以使用4k video downloader for mac来下载,将想要下载的视频网址复制到4k video downloader mac版中,点击下载即可,你还能自由选择质量类型。 可帮助您以最简单的方式抓取视频文件,在下载过程结束时,您可以查看有关视频文件的大小,文件格式和长度的详细信息!
对影三人
2023/04/11
9200
4K Video Downloader for Mac(YouTube视频下载器)
iTubeGo YouTube Downloader Mac(网页视频下载工具)5.3.0
想要一款网页视频下载工具?iTubeGo Mac版是一款非常优秀的网页视频下载软件!iTubeGo Mac支持从 YouTube 和 10,000 多个网站高速下载全高清/4K/8K 视频。
Mac知识分享
2022/07/17
1.1K0
Xilisoft YouTube Video Converter mac(视频下载和转换工具)中文版
Xilisoft YouTube Video Converter 作为一款功能强大的视频下载和转换工具,提供独特的“下载+转换”一步解决方案让您直接下载 YouTube 视频并将其转换为 AVI、MPEG、MP4、3GP、3G2、SWF、MP3等音视频格式。可以将您喜欢的 YouTube 视频直接保存到本地或转换为各种主流视频格式,还可以将本地的FLV视频转换为想要的视频格式。
Mac知识分享
2022/08/08
5030
点击加载更多

相似问题

youtube获取视频的元数据

10

获取用于下载视频的YouTube地址

20

Youtube元数据API中的视频元数据

13

YouTube API -获取视频元数据

15

从Youtube视频中获取视频元数据

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文