点击上方“蓝字”关注我们吧!
哈喽,大家好,这次给大家分享一下基本的排序算法,分别是选择排序和冒泡排序,两个基本的排序算法算是算法学习和编程学习的基本共,要做到拿过来就写的程度(虽然小编也不太熟),为了这篇推文,小编特意写了两遍代码,然后才斗胆拿过来。
这两个算法还算好理解,然后小编也做了一期视频,视频地址如下:
https://www.bilibili.com/video/BV1Cz4y1X7rN/
食用方法建议如下:
先看教学视频,将算法的逻辑和思想理解透彻;
闭上眼睛,回忆一下,两个算法的逻辑是怎样的;
打开IDE,将两个排序算法自己敲一遍代码;
回忆比较两个代码的区别。
c++代码如下所示:
ps.用什么代码不重要,重要的是逻辑和思想!!!
#includeusing namespace std;int main(){ //1.选择排序(从小到大)自行思考从大到小 //step1找到当前序列的最小值 //step2把这个最小值和当前序列最左边的值进行交换 int a[] = { 1, 3, 77, 34, 11, 12, 6, 8 };//待排序的数组 int size = 8;//数组大小 int min_index;//当前序列最小值的索引号 int temp1;//用于交换操作的临时变量 for (int i = 0; i < size - 1; i++) { //找到当前序列的最小值 min_index = i; for (int j = i + 1; j < size; j++) { if (a[j] < a[min_index]) min_index = j; } // //将找到的最小值与当前序列最左边的值进行交换 temp1 = a[i]; a[i] = a[min_index]; a[min_index] = temp1; } 输出结果 for (int i = 0; i < size; i++) cout << a[i] << "\t"; //2.冒泡排序(从小到大) //注意:这里要运行这一段代码的话,需要将上边的选择排序进行注释, //或者写在不同的函数中,分别调用。 int a[] = { 1, 3, 77, 34, 11, 12, 6, 8 };//定义待排序的数组 int size = 8;//数组大小 int temp2;//用于交换操作的临时变量 for (int i = 0; i < size - 1; i++) { for (int j = i + 1; j < size; j++) { if (a[j] < a[i])//比较 {//交换 temp2 = a[i]; a[i] = a[j]; a[j] = temp2; } } } //输出 for (int i = 0; i < size; i++) cout << a[i] << "\t";}
其实,大家可以明显看出,冒泡要简洁一些的。
今天的文章就到这里,下期再见!
送封面:
哔哩哔哩:坚持和努力新浪微博:@我家公子Q欢迎关注!谢谢支持! 转载是一种动力 分享是一种美德