如题所述
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?普通交换而已
,假如把结构体当做普通变量,也就是说,和以前学到的给整形数组冒泡排序基本没有区别。
#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
........
如果是链表可以试一下交换指针,不过也不简单。
或者另开辟一个数组存储关键字在结构体的位置。