数组
数组: 用于存放一系列(若干份)类型相同的数据,数组一旦定义,长度不可变
1.数组的定义: 静态和动态
数组的排序:让数组的所有元素按照一种固定的顺序进行排列
1.选择排序:
外层循环,每次将相应的最大数放在对应的位置,位置i从0~length-2
内层循环,假设i位置的元素为最大数max,用一个pos先记住i,遍历从i+1的位置开始到末尾所有的元素
如果有比max大的就让max记住该数,pos记住该数的位置,这样循环下来,pos一定是记住i~length-1
中
最大的数所在的位置,让pos位置的元素和i位置的元素换一把,即使i位置的元素就是最大了,自己和自
己换也每关系
选择排序
思路:
1.定义一个循环,控制要排列的次数,每次搞定一个最大数
假设用i来代表每次最大数摆放的位置,i的取值:0~length-2
2.定义一个变量pos记住最大数所在的位置,定义一个变量max记住最大数
max初始值为i位置的元素,pos初始值为i
3.定义一个内层循环,用于遍历数组找最大数
假设i位置的最大,找出i+1~length-1里面最大的比i还大的
遍历数组,如果有比max大的,将值给max,同时用pos记住该元素的角标
4.让最大数和i位置的元素交换
2.冒泡排序:
两层循环,外层循环,每次将最小数放在相应的位置,假设i为最小数的位置,i的取值:0~length-2
内层循环,不停冒泡,每次让当前数和前一个数比,小就换,假设j为当前数,j的取值:length-1~i+1
冒泡排序
思路:
1.定义一个外层循环,每次搞定一个最小数,i为最小数的位置,i的取值:0~length-2
2.定义一个内层循环,从数组的末尾开始向前冒泡,直到i+1的位置和i位置的元素进行完冒泡
j的取值:length-1~i+1
3.插入排序
插入排序
思路:
1.外层循环,每次搞定一个数(i)的位置,i的取值:1~length-1
2.内层循环,让第i个数不断和前面的数比较,小就换位置,直到遇上前面一个元素比它还小就停
还有,如果此元素被换到了第0个位置,也要停
二维数组: 数组的每一个元素又是一个数组
函数的递归:就是函数自己调用自己,必须要有结束条件
数组: 用于存放一系列(若干份)类型相同的数据,数组一旦定义,长度不可变
1.数组的定义: 静态和动态
数组的排序:让数组的所有元素按照一种固定的顺序进行排列
1.选择排序:
外层循环,每次将相应的最大数放在对应的位置,位置i从0~length-2
内层循环,假设i位置的元素为最大数max,用一个pos先记住i,遍历从i+1的位置开始到末尾所有的元素
如果有比max大的就让max记住该数,pos记住该数的位置,这样循环下来,pos一定是记住i~length-1
中
最大的数所在的位置,让pos位置的元素和i位置的元素换一把,即使i位置的元素就是最大了,自己和自
己换也每关系
选择排序
思路:
1.定义一个循环,控制要排列的次数,每次搞定一个最大数
假设用i来代表每次最大数摆放的位置,i的取值:0~length-2
2.定义一个变量pos记住最大数所在的位置,定义一个变量max记住最大数
max初始值为i位置的元素,pos初始值为i
3.定义一个内层循环,用于遍历数组找最大数
假设i位置的最大,找出i+1~length-1里面最大的比i还大的
遍历数组,如果有比max大的,将值给max,同时用pos记住该元素的角标
4.让最大数和i位置的元素交换
2.冒泡排序:
两层循环,外层循环,每次将最小数放在相应的位置,假设i为最小数的位置,i的取值:0~length-2
内层循环,不停冒泡,每次让当前数和前一个数比,小就换,假设j为当前数,j的取值:length-1~i+1
冒泡排序
思路:
1.定义一个外层循环,每次搞定一个最小数,i为最小数的位置,i的取值:0~length-2
2.定义一个内层循环,从数组的末尾开始向前冒泡,直到i+1的位置和i位置的元素进行完冒泡
j的取值:length-1~i+1
3.插入排序
插入排序
思路:
1.外层循环,每次搞定一个数(i)的位置,i的取值:1~length-1
2.内层循环,让第i个数不断和前面的数比较,小就换位置,直到遇上前面一个元素比它还小就停
还有,如果此元素被换到了第0个位置,也要停
二维数组: 数组的每一个元素又是一个数组
函数的递归:就是函数自己调用自己,必须要有结束条件