用C语言 长度为10的结构体数组 用结构体指针给数组冒泡排序 该怎么写啊、、

如题所述

c语言引用结构体变量有一条规则,同类结构体可以相互赋值,形式time1=time2
,假如把结构体当做普通变量,也就是说,和以前学到的给整形数组冒泡排序基本没有区别。

#include<stdio.h>
struct Time
{ int hour;
int minute;
int sec;
};
void main()
{
Time swap;
Time time[2]={1,1,1,2,2,2};
printf("%d:%d:%d\n",time[0].hour,time[0].minute,time[0].sec);
swap=time[0];
time[0]=time[1];
time[1]=swap;
printf("%d:%d:%d\n",time[0].hour,time[0].minute,time[0].sec);
}

OK?普通交换而已
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-24
和普通冒泡排序一样,只不过结构体的所有成员都要交换。追问

你能帮我写下吗 谢谢、、、我搞半天了5555555

追答

举个例子普通的冒泡排序只是交换单个元素
temp = a[i]
a[i] = a[j];
a[j] = temp;
而结构体每一个成员都要交换
temp = a[i].key
a[i].key = a[j].key
a[j].key = temp;

temp = a[i].num
........

如果是链表可以试一下交换指针,不过也不简单。
或者另开辟一个数组存储关键字在结构体的位置。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网