bubble sort and selection sort

  1. bubble sort
  2. selection sort
  3. 算法稳定性的判断

bubble sort

1
2
3
4
5
6
7
8
9
10
11
12
void bubble(struct card A[],int N){
for(int i = 0;i < N; i++){
for(int j = N-1; j >= i ; j-- ){//这里是需要学习的地方,直接让j作为最后,更改循环条件尽可能的减少次数
if(A[j].value < A[i].value){
card t = A[j];
A[j] = A[i];
A[i] = t;
}
}
}

}

selection sort

1
2
3
4
5
6
7
8
9
10
11
12
void selection(struct card A[],int N){
for(int i = 0; i < N; i++){
int minj = i;//定义一个minj用来接收所有比较中的最小值元素所在的位置
for(int j = i; j < N; j++){//选择排序从前往后找,在j循环时直接将j = i带入,另外利用空位转存将要被替代的旧元素的值
if(A[j].value < A[i].value){
minj = j;
}
card t = A[i]; A[i] = A[minj]; A[minj] = t;
}
}

}

算法稳定性的判断

1
2
3
4
5
6
7
8
9
//判断算法的稳定性
bool isStable(struct card C1[],struct card C2[],int N){//新增加一个标志位,观察标志位是否如原先相同就可以得出是否是稳定的结论
for(int i = 0 ; i < N ; i++){
if(C1[i].suit != C2[i].suit){
return false ;
}
}
return true;
}

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 583614868@qq.com

文章标题:bubble sort and selection sort

文章字数:289

本文作者:钟帅豪

发布时间:2019-09-18, 16:41:06

最后更新:2019-10-28, 15:02:56

原始链接:http://jhshz520.github.io/2019/09/18/bubble-sort-and-selection-sort/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏