冒泡、选择、插入排序以及猜数字游戏、杀人游戏。
冒泡、选择、插入排序以及猜数字游戏、杀人游戏。
1.冒泡排序:
要点:通过一次排序,最大的沉底
2.选择排序法 : (1)一次取出一个值 默认他是最小的
(2) 如果发现比这个数小 就交换
(3)遍历整个数组 找到一个最小的
4.
3.插入排序: (1)让第i个数和第i+1个数比较大小 调换位置
(2)让调换位置之后的第i个数与i前面的数比较大小并调换位置。
杀人游戏: 思路:1.为参与人数编写数组编号
2.判断是否有人被杀
3.到达死亡编号-杀人数+1-编号归零
4.判断是否到末尾,判断杀人数是否到达 总人数-1
5.输出。
难点:
每杀掉一个人的时候记得将编号还原为0;并且当i==total-1时,此时已经转到了最有一个人,回到起点的时候应该使i=-1而不能=0;因为一次for循环结束时会执行i++;
4.猜数字游戏:
1.产生四个不相同的随机数
2.插入排序
3.开始游戏,判断输入数字与原始数字的位置和数字关系并输出。
难点:
1. 产生随机数: srand((unsigned int)time(NULL)); int temp=rand()%10;(产生10以内的随机数。)
2. 插入排序: 产生的数字和j对应的数字一个一个进行比较,如果发现temp<originalArray[j],则 j后面的内容都向后移动,使产生的数字插进去。
3. 产生随机数过程中的逻辑思维和循环嵌套。定义布尔类型判断产生的随机数是否重复 并考虑最内层循环结束出现的两种结果!(此处为重点)(1)重复->break (2)比完了 j==i ->结束了 没有重复。
感悟:
今天是讲解代码最多的一天,听起来比较枯燥乏味,还有几次险些睡着,好在东哥讲解了好几遍 再加上代码 注释的很棒 ,让我还是理解了代码,最大的收获 是三种排序。之前总是记不住冒泡排序 ,一遇到排序就蒙圈,今天特意整理了三种排序,也加深了印象。也让我意识到,有些东西不一定非得死记硬背住,要先搞懂他的运行原理 然后一步一步的分析 编程,能够编出来就是一种能力,拿到一个任务,不要先着急着去编写,先把逻辑思维搞清楚,再去考虑怎么编写代码,这样就会大大提高编写的成功率和效率。今后会注意,在这方面多下功夫