一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在C语言中,子程序的作用是由一个主函数和若干个函数构成。
看了很多关于sort()函数的定义和解释还是不太清楚,尤其是初学者很容易看懵,这里讲讲自己是如何理解的。
首先,要理解sort()内部是利用递归进行冒泡排序的;
例如:
vararr=[1,5,4,2];
sort()方法的比较逻辑为:
第一轮:1和5比,1和4比,1和2比
第二轮:5和4比,5和2比
第三轮:4和2比
其次,sort()方法会接受一个比较函数compare(a,b),该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。
最后,永远要记住一句话,凡是返回1或者大于0的正数的时候就要交换位置。(内部实现)
例如:
vararr=[1,5,4,2];
现在要进行升序排列,从左到右的数组项关系最终应该为:a<b<c<d
所以只要在当a大于b的时候去交换它们的位置就好了:
if(a>b){
return1;
}
简化后:
//升序
returna-b;
//倒序
returnb-a;
函数分为全局函数、全局静态函数;在类中还可以定义构造函数、析构函数、拷贝构造函数、成员函数、友元函数、运算符重载函数、内联函数等。