| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 538 人关注过本帖
标题:求助各位关于一个结构体的问题!
只看楼主 加入收藏
潇洒地离开
Rank: 2
等 级:论坛游民
帖 子:30
专家分:10
注 册:2010-6-12
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:6 
求助各位关于一个结构体的问题!
比如结构体中包含学号一项,如何根据学号对整个结构体数组进行排序!
搜索更多相关主题的帖子: 结构体 
2010-08-31 13:28
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:6 
结构数组?
那么就涉及到了二维数组的问题,如果在每一行的开头存放的是学号,
那么在进行排序的时候,采用整行交换,有时候并不是每一行的大小都一样的,所以代价太大。
既然内容交换代价很大。
不妨
试试地址的交换。
也就是定义一个同一个类型指针数组,交换地址即可,因为地址的位数数应该是一样的。
操作方便。

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2010-08-31 13:54
guoguo3138
Rank: 2
等 级:论坛游民
帖 子:15
专家分:35
注 册:2010-8-20
收藏
得分:6 
找一个系统的教程看一下,对你会有好处
2010-08-31 13:57
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:6 
对结构体数组排序和普通的数组排序并没有什么不同,只是换了一个变量而已。
另外,给个建议。对于结构体的排序操作还是用链表实现比较好。
2010-08-31 14:24
潇洒地离开
Rank: 2
等 级:论坛游民
帖 子:30
专家分:10
注 册:2010-6-12
收藏
得分:0 
回复 3楼 guoguo3138
系统的教程是指?
2010-08-31 14:39
潇洒地离开
Rank: 2
等 级:论坛游民
帖 子:30
专家分:10
注 册:2010-6-12
收藏
得分:0 
回复 4楼 erikyo
能给我个结构体数组排序的例子么?
2010-08-31 14:59
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:0 
#include <stdio.h>

typedef struct stu
{
    int num;
    char name[10];
}stu_t;

int main()
{
    stu_t student[5];
    int i = 0;
    int j = 0;
    stu_t tmp;

    for(i = 0; i < 5; i++)
    {
        printf("please enter NO.%d student's info:\n",i+1);
        scanf("%d %s",&student[i].num,student[i].name);
    }

    //以下是排序部分
    for(i = 0; i < 4; i++)
    {   
        int k = i;
        for(j = i+1; j < 5; j++)
            if(student[k].num > student[j].num)
                k = j;
        tmp = student[i];
        student[i] = student[k];
        student[k] = tmp;
    }

    for(i = 0; i < 5; i++)
        printf("student[%d].num = %d,name is :%s\n",i,student[i].num,student[i].name);
    printf("Bye!\n");

    return 0;
}
2010-08-31 15:13
快速回复:求助各位关于一个结构体的问题!
数据加载中...
 
   



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

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