排序算法有很多,所以在特定情景中使用哪一种算法很重要。为了选择合适的算法,可以按照建议的顺序考虑以下标准: ( 1)执行时间 ( 2)存储空间 ( 3)编程工作 对于数据量较小的情形,( 1)( 2)差别不大,主要考虑(3);而对于数据量大的,( 1)为首要。 主要排序法有: 一、冒泡(Bubble)排序——相邻交换 二、选择排序——每次最小/大排在相应的位置 三、插入排序——将下一个插入已排好的序列中 四、壳(Shell)排序——缩小增量 五、归并排序 六、快速排序 七、堆排序 八、拓扑排序 九、锦标赛排序 十、基数排序 十一、英雄排序 一、冒泡(Bubble)排序 ----------------------------------Code 从小到大排序n个数------------------------------------ void BubbleSortArray() { for(int i=1;ia[j+1])//比较交换相邻元素 { int temp; temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } } -------------------------------------------------Code------------------------------------------------ 效率 O(n²),适用于排序小列表。 二、选择排序 ----------------------------------Code 从小到大排序n个数-------------------------------- void SelectSortArray() { int min_index; for(int i=0;i=0 && arr[j]>temp)/*将 temp 与已排序元素从小到大比较,寻找temp 应插入的位置*/ { arr[j+1]=arr[j]; j--; } arr[j+1]=temp; } } -----------------------------...