假设关键字序列为{9,3,5,1,2,6,4,7,8},用直接选择排序算法对关键字进行排序代码写全,能够运行并有main测试函数直接插入算法
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/26 20:26:13
假设关键字序列为{9,3,5,1,2,6,4,7,8},用直接选择排序算法对关键字进行排序代码写全,能够运行并有main测试函数直接插入算法
假设关键字序列为{9,3,5,1,2,6,4,7,8},用直接选择排序算法对关键字进行排序
代码写全,能够运行并有main测试函数
直接插入算法
假设关键字序列为{9,3,5,1,2,6,4,7,8},用直接选择排序算法对关键字进行排序代码写全,能够运行并有main测试函数直接插入算法
/*
排序前:
9 3 5 1 2 6 4 7 8
排序后:
1 2 3 4 5 6 7 8 9
Press any key to continue
*/
#include
void insert_sort(int *x, int n) { // 插入排序
\x09int i, j, t;
\x09for (i = 1; i < n; i++) {
\x09\x09t = *(x + i);
\x09\x09for (j = i - 1; j >= 0 && t < *(x + j); j--)
\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 < n ; i++) printf("%5d",a[i]);
\x09printf("\n");
\x09insert_sort(a,n);
\x09printf("\n排序后:\n");
\x09for(i = 0 ; i < n ; i++) printf("%5d",a[i]);
\x09printf("\n\n");
\x09return 0;
}