不知道大家对於 Bubble sort 的程序有没有甚麽问题呢?
今天,我们就来讨论一下程序码!
我的程序码如下:
#include<stdio.h>
int main(){
int data[10];
int i = 0, j = 0, k;
for(i=0; i<10; i++){
printf("please input a number>>");
scanf("%d", &data[i]);
}
printf("unsorted:");
for(i=0;i<10;i++)
printf("%d ",data[i]);
//bubble sort
for(i=0; i<9 ; i++){
for(j=0; j<9-i-1; j++){
if(data[j]>data[j+1]){ // change
data[j]=data[j]^data[j+1];
data[j+1]=data[j]^data[j+1];
data[j]=data[j]^data[j+1];
}
}
printf("\n");
printf("i=%d \n",i);
for(k=0;k<10;k++)
printf("%d ",data[k]);
}
printf("\nsorted:");
for(i=0;i<10;i++)
printf("%d ",data[i]);
return 0;
}
输出结果:
我的思路:
i
、j
。printf()
函式引导使用者输入资料、 scanf()
函式去让使用者输入 10 笔资料、放在阵列中,并先输出未排序的资料。(方便观察资料有没有被放进阵列中)j<9-i
去控制,因为内回圈的次数是会随着已排序的数字变多而变少,所以在条件的地方可以用 i
去控制。(忘记的读者可以去看昨天讲解的图回忆一下会更清楚喔!)自己写完 bubble sort後,有没有觉得颇有成就感呢?
我个人是觉得 bubble sort 是算比较直观的排序方式,还有其他排序方式,如:插入排序法(Insertion sort)、选择排序法(Selection sort)、快速排序法(Quick sort)等等,有兴趣的读者都可以在网路上找到很多相关资料,在这里我们就先不继续谈。
明天,让我们进入一个比较困难的单元-指标!
<<: DAY 23 Typography, Hover 以及 Extend
>>: [Day30] swift & kotlin 总结!双平台差异
Youtube 频道:https://www.youtube.com/c/kaochenlong ...
原本今天是想写解析文章列表的,不过思考了一下,为了让脉络顺一点,决定把今天的内容放到解析文章列表之前...
尾声 最後一天想回归到第一天时对自己说的话「看完这些文章的读者能够对 Next.js 有更多的了解,...
本文同步更新於blog Chain Of Responsibility Pattern 使多个物件...
如果熟悉 flexbox 的对齐属性,在这边的用法也是大同小异。在 grid 中因为没有主次轴的概念...