排序的概念
概念
排序是计算机内经常进行的一种操作,其目的是将一组无序的数据元素调整为有序的数据元素的过程。
操作
比较:任意两个数据元素通过比较操作确定先后次序。
//比较数组中两个数据 if (arr[i] > arr[j]) //arr[i]大于arr[j] else //arr[i]小于arr[j]
交换:数据元素之间需要交换才能得到预期结果。
//数据交换函数 void swap(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; }
数据量分析
内部排序:
若整个排序过程不需要访问外存,仅在内存中完成数据的调整,则称此类排序问题为内部排序。
外部排序:
若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。
稳定性分析
前提:一组数据中出现多个相同的数据
//一组数据中出现多个相同的数据 int arr[]={ 9,1,5,6,4,10,5,