假设关键字序列为{9,3,5,1,2,6,4,7,8},用直接选择排序算法对关键字进行排序
问题描述:
假设关键字序列为{9,3,5,1,2,6,4,7,8},用直接选择排序算法对关键字进行排序
代码写全,能够运行并有main测试函数
直接插入算法
答
/*
排序前:
935126478
排序后:
123456789
Press any key to continue
*/
#include
void insert_sort(int *x, int n) {// 插入排序
\x09int i, j, t;
\x09for (i = 1; i \x09\x09t = *(x + i);
\x09\x09for (j = i - 1; j >= 0 && t \x09\x09\x09*(x + j + 1) = *(x + j);
\x09\x09*(x + j + 1) = t;
\x09}
}
int main() {
\x09int i,n;
\x09int a[] = {9,3,5,1,2,6,4,7,8};
\x09n = sizeof(a)/sizeof(a[0]);
\x09printf("\n排序前:\n");
\x09for(i = 0 ; i \x09printf("\n");
\x09insert_sort(a,n);
\x09printf("\n排序后:\n");
\x09for(i = 0 ; i \x09printf("\n\n");
\x09return 0;
}