冒泡、选择、插入排序以及猜数字游戏、杀人游戏。

冒泡、选择、插入排序以及猜数字游戏、杀人游戏。

1.冒泡排序

要点:通过一次排序,最大的沉底


冒泡、选择、插入排序以及猜数字游戏、杀人游戏。_第1张图片

2.选择排序法 :               (1)一次取出一个值 默认他是最小的

                                         (2) 如果发现比这个数小 就交换

                                          (3)遍历整个数组 找到一个最小的


冒泡、选择、插入排序以及猜数字游戏、杀人游戏。_第2张图片

4.

3.插入排序:         (1)让第i个数和第i+1个数比较大小 调换位置  

                              (2)让调换位置之后的第i个数与i前面的数比较大小并调换位置。

冒泡、选择、插入排序以及猜数字游戏、杀人游戏。_第3张图片

杀人游戏:   思路:1.为参与人数编写数组编号

                                2.判断是否有人被杀

                                3.到达死亡编号-杀人数+1-编号归零

                                4.判断是否到末尾,判断杀人数是否到达 总人数-1

                                5.输出。

冒泡、选择、插入排序以及猜数字游戏、杀人游戏。_第4张图片
冒泡、选择、插入排序以及猜数字游戏、杀人游戏。_第5张图片

难点:  

            每杀掉一个人的时候记得将编号还原为0;并且当i==total-1时,此时已经转到了最有一个人,回到起点的时候应该使i=-1而不能=0;因为一次for循环结束时会执行i++;

4.猜数字游戏:

                              1.产生四个不相同的随机数

                              2.插入排序

                             3.开始游戏,判断输入数字与原始数字的位置和数字关系并输出。

冒泡、选择、插入排序以及猜数字游戏、杀人游戏。_第6张图片
冒泡、选择、插入排序以及猜数字游戏、杀人游戏。_第7张图片
冒泡、选择、插入排序以及猜数字游戏、杀人游戏。_第8张图片

难点:

                    1.   产生随机数:  srand((unsigned int)time(NULL));    int temp=rand()%10;(产生10以内的随机数。)

                    2. 插入排序:    产生的数字和j对应的数字一个一个进行比较,如果发现temp

                    3. 产生随机数过程中的逻辑思维和循环嵌套。定义布尔类型判断产生的随机数是否重复  并考虑最内层循环结束出现的两种结果!(此处为重点)(1)重复->break (2)比完了 j==i ->结束了 没有重复。

感悟:   

        今天是讲解代码最多的一天,听起来比较枯燥乏味,还有几次险些睡着,好在东哥讲解了好几遍 再加上代码 注释的很棒 ,让我还是理解了代码,最大的收获 是三种排序。之前总是记不住冒泡排序 ,一遇到排序就蒙圈,今天特意整理了三种排序,也加深了印象。也让我意识到,有些东西不一定非得死记硬背住,要先搞懂他的运行原理 然后一步一步的分析 编程,能够编出来就是一种能力,拿到一个任务,不要先着急着去编写,先把逻辑思维搞清楚,再去考虑怎么编写代码,这样就会大大提高编写的成功率和效率。今后会注意,在这方面多下功夫

你可能感兴趣的:(冒泡、选择、插入排序以及猜数字游戏、杀人游戏。)