> 回忆
那是我大一做的第一道实验题 题目内容如下
Input:三个int范围内的数字
要求:将三个数字从小到大排序后输出
...... 或许谈回忆有些太早,毕竟从做这题到现在也就过了短短两个月,但在我逐步学习编程知识的过程中,不经意间又想到了这道题,作此随笔以分享我对这个题的最新思考。
> 缘起
在创建了这个博客后,我的第一篇随笔便介绍了“冒泡排序”这一数组排序方法,将时间点切到我创建博客提交随笔之前,写出那份随笔之后,也就是我创建个人博客的前一周。那是一个平静的夜晚,完成“冒泡排序”随笔编写的我,本应放下电脑思考思考晚上要不要吃一顿夜宵,但我却似有所感,这个冒泡排序的逻辑怎么这么熟悉呢?
> 思索
恍然大悟,这不就是我做过的第一道实验题吗?!实验讲义将那道题的代码讲的很清楚,在Process阶段需要将a与b、a与c、b与c依次作比较,这和冒泡排序的逻辑一模一样啊!
//n为数组内元素个数
for(k=0;k<n-1;k++)//从数组内第一个元素开始{for(i=0;i<n-1-k;i++) //从第一个元素开始 直至第n-1个元素{if(arr[i]>arr[i+1])//若arr[i]的值<arr[i+1]{p=arr[i];arr[i]=arr[i+1];arr[i+1]=p; //交换数组arr[i]和arr[i+1]的值}}}
上为我之前所写的冒泡排序,修改了部分注释
> 余思
从这两个月的结果来看,我们在c语言学习上所做的努力是有意义的,一开始我们只能通过"利用三个if语句比较abc这一方法"解决排序问题,而现在我们可以运用数组知识轻松解决这一问题,这无疑是一件充满成就感的事,同学,继续努力,加油!