排序
概念: 按照一定的顺序排序;------1.从小到大(升序)2.从大到小(降序)
选择排序:
思想:给合适的位置选择合适的数
总结:1.确定位置----把位置定好,然后进行第二步
2.找合适的数---在确定好的位置,找出对应的数,将该数放在该位置
3 .将第一步和第二步循环len-1次(即数据长度-1)
4.得到最后想要的顺序排列
流程图:
代码:
冒号排序:
思想:一次冒出一个数,相邻两个元素,两两比较,小的放前
总结:1.控制躺数----确定要进行多少趟
2. 一趟的比较过程---两个相邻元素比较,冒泡,将最大的冒出来
3.重复第一步与第二步,得到正确排序
流程图:
代码:
插入排序:
思想:在有序序列中,找到合适的位置插入
总结:
1.拿数----将一个数拿出来,给temp
2.位置---确定好要将该数要给到的位置
3.挪位置---将两个相邻的数进行比较,大的放后,小的放前
4.定好temp的位置
5.将前面四步重复循环len-1次
6.得到想要的排序
流程图:
代码:
查找算法:
思想:找到中间位置数,拿这个数和要找的数进行比较
总结:
1.找出begin和end,最小和最大数的位置
2.设置中间数mid=(begin+end)/2
3.中间数和m比较分类讨论
4.逐步缩小范围,直到找到对应数组,或者结束
流程图:
代码:
一维字符型数组
从数组角度:char s[10]={‘a’,’b’,’c’,’d’ ...’j’}
数组用来存储数据的
从字符串的角度:
char s[]=”hello”
1.字符串是当做字符数组来处理的。
2.字符串有一个专门的结束标志 '\0'
3.处理的是字符串,操作的时候,往往以结束标志为操作依据
4.处理的是数组,操作的时候,往往以 数组长度 作为操作依据
5.字符数组可以用来存储字符串
而字符串在内存中存储的方式 也是以 字符数组形式存储的
注意:"hello" --- 'h''e''l''l''o''\0'
实际占用的内存空间,是包含了'\0'
"" //字符串 --- 空字符串 '\0'
Puts
功能:
输出一个字符串
返回值:
成功----非负数 ;失败---- “-1”
注意:puts输出的时候自动换行
gets
功能:从键盘获得一个字符串
参数:
s //代表就是一块存储空间 --- 需要的是一个一维字符型数组的数组名
返回值:
成功 ----s 失败-----NULL