设为首页 加入收藏

TOP

自己动手编程:双向气泡排序
2014-11-23 23:24:18 来源: 作者: 【 】 浏览:1
Tags:自己 动手 编程 双向 气泡 排序

#include
#include

#define Elem int

typedef struct sqlist{
Elem key ;
int data ;

}sqlist ;

void doublesort(sqlist R[] , int n){
int i , j ;
int temp ;
int exchange = 1 ;
i = 0 ;
while(exchange==1){
exchange = 0 ;
for(j = n-i-1 ; j>i ;j--){
if(R[j].key < R[j-1].key){
exchange = 1 ;
temp = R[j-1].key ;
R[j-1].key = R[j].key ;
R[j].key = temp ;
}
}

for( j = i ; j< n-1 ; j++){
if(R[j].key > R[j+1].key){
exchange = 1 ;
temp = R[j+1].key ;
R[j+1].key = R[j].key ;
R[j].key = temp ;
}
}
i++ ;

}
}


void main(){
sqlist dataSort[10] ;
int i = 0 ;
for(i = 0 ; i < 10 ; i++){
dataSort[i].key = 10 - i ;
dataSort[i].data = i ;
}
doublesort(dataSort , 10) ;
for(i = 0 ; i < 10 ; i++){
printf("key:%d data:%d \n",dataSort[i].key,dataSort[i].data) ;
}

}

w397090770的专栏

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇用c语言产生随机数 下一篇自己动手之快速排序

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: