摘要: 冒泡排序:从第一个数开始依此与下一个数进行比较,若后者大于前者,则二者换位,否则不进行操作;然后让第二个数与下一个进行比较;依此这样进行。一次大循环会将最大的那个数,放在后面;第二次大循环会将第二大的数放在倒数第二位;依次进行。最后便是有序的升序数列。 #include<bits/stdc++.h> 阅读全文
posted @ 2019-08-12 20:34 白菜茄子 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 插入排序:分为两部分:红色为已排好序的,空白的为仍未排序的。 每次的排序步骤从未排序中选出第一个让其依此与前方已排序的进行比较,看看应该处于什么位置,就把它插入进去,让其后已排序的以此向后移动一位。 第四个比第二个第三个大,但小于等于第一个,于是将第四个换到第二个位置,并将原先的第二三个依此向后移动 阅读全文
posted @ 2019-08-12 20:34 白菜茄子 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 希尔排序是直接插入排序的一种改进(可是我觉得有点冒泡排序的意思),因为插入排序当数列越整齐则越容易进行排序列,而希尔排序就是将数列慢慢的化为更整齐的数列。 每次对间隔为q[i]的数据进行插入排序,不过最后一个q[i]一定是1,因为我是使用的动态数组进行完成的,所以是递增数列。 #include<bi 阅读全文
posted @ 2019-08-12 20:33 白菜茄子 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 选择排序分为两部分:已排好序的,未排好序的;每次从未排好里找出一个最小的值,将这个值与未排好序的第一个进行交换位置,意味着每次进行一次循环找出一个最小值就相当于将一个剩下未排序里最小的给排进去。 #include<bits/stdc++.h>using namespace std;const int 阅读全文
posted @ 2019-08-12 20:33 白菜茄子 阅读(160) 评论(0) 推荐(0) 编辑
摘要: Your task is to simulate a flood damage. For a given cross-section diagram, reports areas of flooded sections. Assume that rain is falling endlessly i 阅读全文
posted @ 2019-08-12 20:32 白菜茄子 阅读(264) 评论(0) 推荐(0) 编辑