谁与争锋,再发一个排序法。

智者知已应修善业 2020-01-29 03:17:44
C++三位状态比较排序

修改错误后的排序截图

还有待优化的地方后续
...全文
232 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
目前注重在遍历次数上,空间复杂度就是数组本身+一个临时交换数据用的变量,比快排栈空间+数组空间要少,程序也不算复杂。
目前关注的是一遍历能整理2个数据,因此,经过多次测试,完成排序所遍历基本为数组一半的量,最多能达到一遍历整理3个数据,遍历为数组的1/3量。
taodm 2020-01-29
  • 打赏
  • 举报
回复
说说你的时间复杂度和空间复杂度吧
  • 打赏
  • 举报
回复
测试用例

int aa[] = { 99, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1,
99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 33,
3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55,
5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77,
7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6,
9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8,
77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1,
99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66,
6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 2, 11, 1,
99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33,
3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55,
5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77,
7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6,
9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8,
77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1,
99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66,
6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 2, 11, 1,
99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 33,
3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55,
5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77,
7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6,
9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8,
77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1,
99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66,
6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 2, 11, 1,
99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 33,
3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55,
5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77,
7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6,
9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8,
77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1,
99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66,
6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 2, 11, 1,
99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 33,
3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55,
5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77,
7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6,
9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8,
77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1,
99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66,
6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 2, 11, 1,
99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 33,
3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55,
5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77,
7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8, 77, 7, 66, 6,
9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1, 99, 9, 88, 8,
77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 55, 5, 44, 4, 33, 3, 22, 2, 11, 1,
99, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6, 9, 88, 8, 77, 7, 66, 6 },
xu = 0, ci = 0, j = 0, jian = 0, lian = sizeof(aa) / sizeof(aa[0]); bool k = false;
  • 打赏
  • 举报
回复
修改的错误为添加如下判断

if (A > C)
J = A, A = C, C = J, k = true;
代码下载链接: https://pan.quark.cn/s/90fbf78c3289 "1元云购"是一种依托互联网的购物方式,用户仅需投入微小的资金(一般为一元)便有机会赢取高价值商品。此类模式常借助抽奖机制来判定获胜者,从而吸引众多用户加入。"1元云购源代码"是承载该业务流程的程序代码,其用途在于搭建一个完整的1元云购系统。 在构建1元云购源代码的过程中,主要包含以下几个核心技术要点: 1. **数据库架构**:为了有效存储商品详情、用户资料、交易历史及开奖结果,必须设计科学合理的数据库框架。这包括商品数据表、用户信息表、订单记录表和开奖记录表等,确保数据的统一性与完整性。 2. **支付渠道对接**:1元云购平台需与第三方支付服务(例如支付宝、微信支付)进行对接,以实现用户的在线支付操作。这涉及API接口调用、交易状态同步、退款流程管理等环节。 3. **随机数生成策略**:抽奖过程的核心在于公平透明地选定获奖者,通常采用随机数生成策略来实现。该策略需保障每位参与者拥有相等的获奖机会,同时防止欺诈行为。 4. **用户界面开发**:卓越的用户体验是吸引参与者的关键因素。前端页面应兼具视觉吸引力与操作便捷性,清晰展示商品信息、购买步骤、中奖规范等,并提供用户注册、登录、查询订单等功能。 5. **服务器程序设计**:后端系统负责处理用户请求,如管理订单、计算中奖号码、更新数据库信息等。这部分通常采用PHP等服务器端技术实现,需应对并发访问与高负载情形。 6. **安全措施**:1元云购平台可能面临恶意攻击,例如SQL注入、XSS跨站脚本攻击等。因此,源代码需遵循安全编程准则,对用户输入进行过滤与校验,同时运用HTTPS等加密手段保障数据传输安全。 7. **...

65,214

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧