C语言实战开发————排序:选择,冒泡,插入;函数


排序

1.冒泡排序

冒泡法实现方式:相邻的两个数拉出来作比较,大的往后放,像这样,最大的一个数就会被换到最后一位 ,第一次循环选出最大的一个数字,然后从头再来一遍,选出第二大的数字,多次循环后排序完成
内外循环共有两层:最外层控制总共需要多少次,次外层控制多少次后到最大
冒泡排序法的书写示例:

int number[9] = {4,2,8,5,1,9,6,3,0,7};
for(int i = 0;i < 10 - 1;i++){
for(int j; j < 10 - i -1;j++){
if(number[i] > number[i+1]{
int temp = number[i];
number[i] = number[i+1];
number[i+1] = temp;
}
}

2.选择排序

选择排序实现方式:取出一个数将之视为最小,分别与之后的数进行比较,若有更小则两数进行交换,更小数变为默认最小,原默认最小数取代其位置,而后新默认最小数与后面进行比较,完全比较之后,得到的最小数按顺序排列
内外循环共有两层:最外层控制总共需要多少次,次外层控制多少次后到最小
选择排序的书写示例:

int number[9] = {4,2,8,5,1,9,6,3,0,7};
for(int i = 0;i < 10 - 1;i++){
int temp = number[i];
for(int j = i +1;j < 10;j++){
if(number[j]  < temp;{
int n = temp;
temp = number[j];
number[j] = n;
}
}
number[i] = temp;
}

3.插入排序

插入排序的实现:将两个数进行比较,将两数较小者左移,若左移则将左边的数与这个数左边的数再次比较,若未能左移,则进行下一轮比较
插入排序的书写示例:

int number[9] = {4,2,8,5,1,9,6,3,0,7};
for(int i = 0;i < 10 - 1;i++){
if(number[i] > number[i+1]){
int temp = number[i];
number[i] = number[i+1];
number[i+1] = temp;

for(int j = i; j > 0; j--){
if(number[j] > number[j-1]){
 break;
} else{
int temp = number[j];
number[j] = number[j-1];
number[j-1] = temp; 
} 
}
}
}

函数

函数:一个代码块{ } == 独立空间
一个函数对应一个功能,函数中包括返回值,函数名(驼峰命名法:两个单词,首单词小写另外一个大写),函数名后加圆括号,圆括号内为函数参数(形式参数),大括号内为代码块,如果有返回值就在后面加上return,例如:

int add (int a,int b){
int sum = a+b;
return sum;                      //申明和实现一起
}


int add(int a,int b);

···

int add(int a,int b){
return a + b;
}                                        //先申明后实现

函数的实现:通过调用函数名,以上一个例子为前提,则调用为add(1,2)表示1和2相加,如果不接受则不加任何条件,如果接受,则加上int result = add(3,3);去接收


你可能感兴趣的:(C语言实战开发————排序:选择,冒泡,插入;函数)