算法问题。求解释。。。
程序代码:
当数据量较小的时候,使用基本排序方案并不会显著影响程序性能。 选择排序是十分常用的基本排序方案之一。它的每一趟排序都从一个序列中选择最小的那个元素,加入到逐步扩展的已排序序列。初始的时候,已排序序列为第一个元素,待排序序列为剩下的所有元素,即从第二个元素到结尾。 下面的代码演示了对int数组中的n个元素进行基本选择排序。请仔细阅读并分析代码,填写空白处的代码,使得程序的逻辑合理,结果正确。 void sel_sort(int* x, int n) { int k, i, m, t; for(k=0; k<n-1; k++) // 多趟排序 { m = _k____________; // 填空1 for(i=k+1; i<n; i++) { if(x[i] < x[m]) __x[m] =x[i]_____________; // 填空2 } t = x[k]; x[k] = x[m]; x[m] = t; } } void display(int* x, int n) { for(int i=0; i<n; i++) printf("%d ", x[i]); printf("\n"); } void main() { int N = 10; int a[] = {5, 12, 35, 28, 19, 22, 36, 17, 4, 11}; display(a, N); sel_sort(a, N); display(a, N); }