假设关键字序列为{9,3,5,1,2,6,4,7,8},用直接选择排序算法对关键字进行排序

学习 时间:2026-04-04 21:37:34 阅读:2056
假设关键字序列为{9,3,5,1,2,6,4,7,8},用直接选择排序算法对关键字进行排序代码写全,能够运行并有main测试函数直接插入算法

最佳回答

欣喜的翅膀

默默的悟空

2026-04-04 21:37:34

#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;}

最新回答共有2条回答

  • 欣慰的路灯
    回复
    2026-04-04 21:37:34

    #include void insert_sort(int *x, int n) { // 插入排序\x09int i, j, t;\x09for (i = 1; i = 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;}

上一篇 1,·(根号a+根号b+1)(1-根号a+根号b)-(根号a+根号b)^2

下一篇 伊索寓言600字读后感,