1 . 循环中的排序
排序一般分为升序和降序; C中排序一般指升序;
1.1选择排序:
第一个for 为趟数,一共要进行几趟下面的程序;然后定义下面应该拿出第几个位置的数;
第二个for为次数,拿出第一个位置;不断与后面的数进行比较,在这个位置放置最小的数;而for的作用可以让这个程序依次比较,且以递增的形式进行下去;直至最后一个;得到这个数组最小的数,放置在a[0]处;后回到第一个for依次拿出后面的位置与后面的数进行比较;
if 则是 让第一个位置的数不断与后面的数进行比较;后面的数小则交换;
最终得到一个升序数组;
1.2冒泡排序:
第一个for 为趟数,一共要进行几趟下面的程序;
第二个for为次数,让所有两两相邻两个数进行比较,
if 则是让相邻两个数中大的放到后面;再回到第二个for让这个放到后面的数与下一个(该数后面的数)再进行比较,依次进行;直到得到一个最大的数,放到最后一个;
而 len-i;的目的是摘出刚刚确定的最大数,让前面剩下的数进行比较;
最终得到一个升序数组;
1.3 插入排序:
第一个for 为趟数,一共要进行几趟下面的程序;
中间让 t=a[j] t = j;目的是当下面进行比较时,可以让a[j]保留下最后,再赋值给比较后空出来的位置,也就是后面的a[i]=t; 因为 --i ,此时的a[i]刚好为适合t的那个位置;
而while则是让新来的数与里面新数组的末位数进行比较;真则进行里面的交换程序;(比较后最初的a[i]较小,则将与之比较的数放到现在的a[i],而最初的a[i]也就是t,赋值给被比较的数的位置),后若还小则继续往前比较;
而刚开始的i>0,则是让第一个a[0]直接放入新的数组中;
1.4查找:
注意对数组进行查找时数组必须有序;
此处默认升序;
while 中 对 若 begin <= end 则一直进行下面的程序;
进入下面程序,先拿begin与end中间值(mid) 与 a[n] 进行比较
小则说明a[n]再begin与mid 之间;再令end=mid-1;再比较begin与end进行循环直到a[n] = mid;
大则说明a[n]再mid与end 之间 ; 再令begin=mid+1;再比较begin与end进行循环直到a[n] = mid;
否则 则说明 a[n] 与 mid 相等,则直接跳出循环;
最终再拿得到的a[n]看 begin <= end 若真则说明是走循环得到的a[n],假则说明此数组不是升序;输出no;
2.字符数组
主要作用 : 处理字符串数据
'\0' 是字符串的结束标志 ;
注意:
1.字符串 -- 更关注的是字符串整体,而不是单个字符
2.字符串的结束标志 比较重要 ,表示字符串结束
3.处理字符串时,常常使用结束标志作为判断
2.1 puts
功能: 输出字符串
特点: 输出时,自动换行
一般为 puts(字符串名称,如s ) s[10]="hello";
2.2 gets
功能: 输入字符串
2.3 strcpy
功能: 实现字符串拷贝