标题:二维数组如何进行排序!
只看楼主
yuleol
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2005-12-10
 问题点数:0 回复次数:8 
二维数组如何进行排序!

有一个数组int a[5][5],数组a中存放任意整数;如何对它进行升序排序!
我已经被删一次帖了~~

然道这样讲没人听清楚是怎么回事吗?要不然讲个具体点的题目吧!~

int a[5][5]={{4,12,54,45,23},
{6,34,32,54,64},
{67,34,54,32,43},
{12,43,56,43,1}
{5,56,78,98,15}};

如何对数组a中的元素进行升序排序,就是从小到大;

排序后就是让a[0][0]<a[0][1]<a[0][2]<a[0][3]<a[0][4]<a[1][0]<a[1][1]..........<a[4][4]

[此贴子已经被作者于2006-6-29 11:39:41编辑过]

搜索更多相关主题的帖子: int 元素 从小到大 
2006-06-28 23:27
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
得分:0 
以下是引用yuleol在2006-6-28 23:27:56的发言:

有一个数组int a[5][5],数组a中存放任意整数;如何对它进行升序排序!
我已经被删一次帖了~~

然道这样讲没人听清楚是怎么回事吗?要不然讲个具体点的题目吧!~

int a[5][5]={{4,12,54,45,23},
{6,34,32,54,64},
{67,34,54,32,43},
{12,43,56,43,1}
{5,56,78,98,15}};

如何对数组a中的元素进行升序排序,就是从小到大;

骂你笨,别不高兴!还是不明白!!!

请楼主原原本本写出题目。俺就不信哪本书

或哪个老师会出这样混蛋的题目。

如果楼主自己杜撰出来的,也可以,但必须

告诉大家,你给出的这个二维数组排序后的

样子
!否则还得删除,因为丢论坛脸。


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-29 04:52
yuleol
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2005-12-10
得分:0 

排序后就是让a[0][0]<a[0][1]<a[0][2]<a[0][3]<a[0][4]<a[1][0]<a[1][1]..........<a[4][4]


兴趣是我的源动力!
2006-06-29 11:30
han2y
Rank: 1
来 自:山东德州
等 级:新手上路
帖 子:175
专家分:0
注 册:2006-5-4
得分:0 
自己想吧!用指针最简单,算法用冒泡,选择,快速……都可以……

2006-06-29 11:34
DEMON_HUNTER
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-3-10
得分:0 
#include<stdlib.h>
/*用冒泡法实现,二维数组可当成一维数组访问*/
void main(){
int a[5][5]={ {4,12,54,45,23},
{6,34,32,54,64},
{67,34,54,32,43},
{12,43,56,43,1},
{5,56,78,98,15}
};
int i,j,temp,*p;
p=a;
for(i=0;i<25;i++)
{
for(j=0;j<25-i;j++)
{
if(*(p+j) > *(p+j+1))
{
temp = *(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
getch();
return;
}

2006-06-29 12:55
yuleol
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2005-12-10
得分:0 

谢谢5楼兄弟~~

原来只要用指针,处理起来和一维数组是一样的~~


兴趣是我的源动力!
2006-06-29 22:00
景士
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-6-21
得分:0 
回复 5楼 DEMON_HUNTER
五楼的,你定义的二维指针变量都错了!
2010-06-21 13:07
wb913515436
Rank: 1
来 自:陕西省咸阳市
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-7-23
得分:0 
回复 5楼 DEMON_HUNTER
5楼  应该是 p = &a[0][0]  !!!!!
2013-07-23 21:47
wb913515436
Rank: 1
来 自:陕西省咸阳市
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-7-23
得分:0 
回复 5楼 DEMON_HUNTER
完备程序应该是这样的:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
/*用冒泡法实现,二维数组可当成一维数组访问*/
void main()
{
    int a[5][5]={ {4,12,54,45,23},
    {6,34,32,54,64},
    {67,34,54,32,43},
    {12,43,56,43,1},
    {5,56,78,98,15}
    };
    int i,j,temp,*p;
    p = &a[0][0];
    for(i=0;i<25;i++)
    {
        for(j=0;j<25-i;j++)
        {
            if(*(p+j) > *(p+j+1))
            {
                temp = *(p+j);
                *(p+j)=*(p+j+1);
                *(p+j+1)=temp;
            }
        }
    }
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            printf("%3d",a[i][j]);
        }
        printf("\n");
    }
    getch();
}
(再就是要注意格式,要便于别人理解你的程序!!)
2013-07-23 21:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-75500-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012684 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved