代碼如下:
成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計,建水網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:建水等地區(qū)。建水做網(wǎng)站價格咨詢:18980820575
#includestdio.h?
typedef?struct{
char?thread_name[3];
unsigned?int?require_moment;
unsigned?int?persist_time;
}TEST_INFO;
TEST_INFO?test_data[]?=?{
{?"r1",?0,?3?},
{?"r2",?1,?6?},
{?"w1",?3,?5?},
{?"r3",?2,?5?},
{?"w2",?5,?5?},
{?"w3",?4,?5?},
{?"r4",?7,?5?},
{?"r5",?9,?5?},
{?"w4",?8,?5?},
{?"w5",?12,?5?}
};
int?main()
{
int?i,?j,?size;
TEST_INFO?temp;
//?數(shù)組元素個數(shù)
size?=?10;
//?排序
for?(i?=?0;?i??size?-?1;?i++)?{
for?(j?=?i?+?1;?j??size;?j++)?{
if?(test_data[i].require_moment??test_data[j].require_moment)?{
memcpy(temp,?test_data[i],?sizeof(TEST_INFO));
memcpy(test_data[i],?test_data[j],?sizeof(TEST_INFO));
memcpy(test_data[j],?temp,?sizeof(TEST_INFO));
}
}
}
//?輸出
for?(i?=?0;?i??size;?i++)?{
printf("%s?",?test_data[i].thread_name);
}
printf("\n");
return?0;
}
運行結(jié)果:
就是排序問題嘛,跟結(jié)構(gòu)體有啥關(guān)系?
比較結(jié)構(gòu)體中的shu成員啊
冒泡排序的核心代碼如下:
struct student ss[20],t;
for(i=0;i20-1;i++)
{
for(j=20-1;ji;j--)
{
if(ss[j].shu ss[j-1].shu)
{
t=ss[j];
ss[j]=ss[j-1];
ss[j-1]=t;
}
}
}
補充:
只需要在交換的時候,按整個結(jié)構(gòu)體換,就行了啊
下面交換代碼中的t和ss都是結(jié)構(gòu)體啊
struct student ss[20],t;
t=ss[j];
ss[j]=ss[j-1];
ss[j-1]=t;
設(shè)結(jié)構(gòu)體名為AAA,結(jié)構(gòu)體數(shù)組聲明為struct AAA a[N];(N為宏定義常量),身份證成員名為id,則排序函數(shù)可如下寫——
#include?"stdio.h"
#include?string.h
#define?N?3
struct?AAA{
char?id[20];
int?age;
};
void?mysort(struct?AAA?*p){//排序函數(shù)
struct?AAA?t;
int?i,j,k;
for(i=0;iN;i++){
for(k=i,j=k+1;jN;j++)
if(strcmp((p+j)-id,(p+k)-id)0)
k=j;
if(i!=k)
t=*(p+k),*(p+k)=*(p+i),*(p+i)=t;
}
}
int?main(int?argc,char?*argv[]){//測試主函數(shù)
struct?AAA?a[N]={{"650104194812109907",77},{"333018201801015555",1},{"650104194812109903",80}};
mysort(a);
printf("%s\t%d\n",a[0].id,a[0].age);
printf("%s\t%d\n",a[1].id,a[1].age);
printf("%s\t%d\n",a[2].id,a[2].age);
return?0;
}
運行結(jié)果:
分享名稱:c語言排序函數(shù)結(jié)構(gòu)體,C語言順序結(jié)構(gòu)
文章位置:http://jinyejixie.com/article40/hseheo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、移動網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、品牌網(wǎng)站設(shè)計、自適應(yīng)網(wǎng)站、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)