数据结构//升序排序(请改造我的函数,做一个开关,0,升序,1就是降序)?

发布网友

我来回答

2个回答

热心网友

void sort(SeqList *list, int asc){
for (int i = 0; i <list->Size-1 ; ++i) {
for (int j = 0; j <list->Size-1-i ; ++j) {
//判断是否需要交换数据
if(asc*list->base[j]>asc*list->base[j+1]){
ElemType tmp=list->base[j];
list->base[j]=list->base[j+1];
list->base[j+1]=tmp;
}
}
}
}
参数asc=1为升序,=-1为降序

热心网友

void sort(SeqList* list,int flag)
{
for (int i = 0; i < list->Size - 1; ++i) {
for (int j = 0; j < list->Size - 1 - i; ++j) {
//判断是否需要交换数据
if(flag==0){
if (list->base[j] > list->base[j + 1]) {
ElemType tmp = list->base[j];
list->base[j] = list->base[j + 1];
list->base[j + 1] = tmp;
}
}
else{
if (list->base[j] < list->base[j + 1]) {
ElemType tmp = list->base[j];
list->base[j] = list->base[j + 1];
list->base[j + 1] = tmp;
}
}
}
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com