社区
数据结构与算法
帖子详情
高手帮帮我 关于二维数组排序。在线等 急啊!!!
eroscheng
2006-06-18 06:50:34
初始数组:
a b d
1 1 0 2
2 0 1 1
3 2 0 1
4 1 1 2
5 1 0 0
6 2 2 1
7 2 1 1
8 0 1 0
排序后
a b d
8 0 1 0
2 0 1 1
5 1 0 0
1 1 0 2
4 1 1 2
3 2 0 1
7 2 1 1
6 2 2 1
第一次 a 排序
第二次 在a 排序的基础上 按b排序
以此类推。
在线等待。
...全文
256
5
打赏
收藏
高手帮帮我 关于二维数组排序。在线等 急啊!!!
初始数组: abd 1102 2011 3201 4112 5100 6221 7211 8010 排序后 abd 8010 2011 5100 1102 4112 3201 7211 6221 第一次 a 排序 第二次 在a 排序的基础上 按b排序 以此类推。 在线等待。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mmmcd
2006-06-18
打赏
举报
回复
两个三元组xi(ai,bi,di)和xj(aj,bj,dj),
比较大小的函数使用:
第一次:less1(xi,xj) => ai<aj
第二次:less2(xi,xj) => ai<aj || ai==aj && bi<bj
第三次:less3(xi,xj) => ai<aj || ai==aj && bi<bj || ai==aj && bi==bj && di<dj
不论冒泡或快排都行
kingbo2006
2006-06-18
打赏
举报
回复
这是用冒泡法的程序实现过程,你也可以改成用其它更快的排序法来实现。
#include <iostream>
using namespace std;
void main()
{
int a[8][3]={{1,0,2},{0,1,1},{2,0,1},{1,1,2},{1,0,0},{2,2,1},{2,1,1},{0,1,0}};
for (int i=2;i>=0;i--)
{
for(int j=0;j<7;j++)//排序过程
{
for(int k=1;k<8-j;k++)
{
if(a[k-1][i]>a[k][i])
{
for(int m=0;m<=2;m++)
{
int temp=a[k-1][m];
a[k-1][m]=a[k][m];
a[k][m]=temp;
}
}
}
}
}
for(int i=0;i<=7;i++)//结果输出
{
for(int j=0;j<=2;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
}
kingbo2006
2006-06-18
打赏
举报
回复
程序的算法思想如下:
初始状态
a b d
1 1 0 2
2 0 1 1
3 2 0 1
4 1 1 2
5 1 0 0
6 2 2 1
7 2 1 1
8 0 1 0
先按d排序
5 1 0 0
8 0 1 0
2 0 1 1
3 2 0 1
6 2 2 1
7 2 1 1
1 1 0 2
4 1 1 2
再按b排序
5 1 0 0
3 2 0 1
1 1 0 2
8 0 1 0
2 0 1 1
7 2 1 1
4 1 1 2
6 2 2 1
最后按 a 排序
8 0 1 0
2 0 1 1
5 1 0 0
1 1 0 2
4 1 1 2
3 2 0 1
7 2 1 1
6 2 2 1
以上是我的程序思考过程,只要是用稳定排序法就一定能得到这样的结果。
如果用冒泡法其算法度为O(3*n*n)。这样做比直接按a,b,d的顺序要好一些,可以减少程序的杂性。
eroscheng
2006-06-18
打赏
举报
回复
能给我代码看看吗?
hijack
2006-06-18
打赏
举报
回复
跟排序一维的类似,使用STL的话很简单
把数据结构安排好,写个仿函数,直接用std::sort排序
青少年C++编程NOIP/CSP竞赛通关语法-
二维数组
1、本课程为零基础C++语法专题课,是青少儿参加信息学奥赛NOIP/CSP需要学习的语法专题课; 2、本课程每节课均配有练习题以及真题,以锻炼孩子的解题能力;... 6、本课程介绍的是
二维数组
。也是历来竞赛重要考点。
指针和数组
一、指针和一维数组 数组和指针大致是你中有我我中有你的关系: 指针 数组名 类别 (指针)变量 (指针)常量 内容 (赋予)地址 数组首地址 赋值 可赋值 不可赋值 运算 可...
我在CSDN参与的3000个帖子
2:100分
急
求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望
高手
帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,...
求解问题ddd
用二维字符数组方法编程实现从键盘任意输入10个字符串,将这10个字符串按字典顺序
排序
后打印输出,字符串最大长度80。 **输入提示信息格式: 无 **输入数据格式要求: 要求读入的字符串可以包含有空格 **输出数据格式...
字节跳动 生活服务 日常实习 一面凉经(1h20min)
关注小助手,校招我拿手!今年校招生硕士,最后三个offer在抉择中,麻烦大佬们帮忙选.../** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @retu。
数据结构与算法
33,007
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章