本文主要是介绍排序:插入排序/选择排序/交换排序(冒泡法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.插入排序:
template <class T>
void insertionSort(T a[], int n) {int i, j;T temp;for (int i = 1; i < n; i++) { int j = i;T temp = a[i];while (j > 0 && temp < a[j - 1]) {a[j] = a[j - 1];j--;}a[j] = temp;}
}
2.选择排序:
template <class T>
void mySwap(T &x, T &y) {T temp = x;x = y;y = temp;
}template <class T>
void selectionSort(T a[], int n) {for (int i = 0; i < n - 1; i++) {int leastIndex = i; for (int j = i + 1; j < n; j++)if (a[j] < a[leastIndex])leastIndex = j;mySwap(a[i], a[leastIndex]);}
}
3.交换排序(冒泡法)
template <class T>
void mySwap(T &x, T &y) {T temp = x;x = y;y = temp;
}template <class T>
void bubbleSort(T a[], int n) {int i = n – 1;while (i > 0) {int lastExchangeIndex = 0;for (int j = 0; j < i; j++)if (a[j + 1] < a[j]) {mySwap(a[j], a[j + 1]);lastExchangeIndex = j;}i = lastExchangeIndex;}
}
来自清华大学MOOC课件
这篇关于排序:插入排序/选择排序/交换排序(冒泡法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!