用选择法对10个整数排序

深碍√TFBOYSˉ_ 2023-07-17 15:54 146阅读 0赞
  1. /*用选择法对10个整数排序*/
  2. #include <stdio.h>
  3. int main()
  4. {
  5. int i,min,flag,t,j,k;
  6. int a[10];//={1,5,3,4,8,0,6,9,2,7};
  7. printf("请输入10个数字:\n");
  8. for(i = 0;i < 10;i ++)
  9. scanf("%d",&a[i]);
  10. printf("排序前:\n");
  11. for(i = 0;i < 10;i ++)
  12. printf("%d,",a[i]);
  13. printf("\b ");
  14. printf("\n");
  15. for(i = 0;i < 10;i ++)
  16. {
  17. min = a[i];
  18. flag = 0;
  19. for(j = i + 1;j < 10;j ++)
  20. {
  21. if(a[j] < min)
  22. {
  23. flag = 1;
  24. min = a[j];
  25. k = j;//记录最小点的下标
  26. }
  27. }
  28. if(flag == 1)
  29. {
  30. t = a[i];
  31. a[i] = a[k];
  32. a[k] = t;
  33. }
  34. }
  35. printf("排序后:\n");
  36. for(i = 0;i < 10;i ++)
  37. printf("%d,",a[i]);
  38. printf("\b ");
  39. printf("\n");
  40. }

谭浩强C程序设计(第四版)p168第2题
题目要求用选择法,我就使用了简答选择法,但是时间复杂度有点高。

发表评论

表情:
评论列表 (有 0 条评论,146人围观)

还没有评论,来说两句吧...

相关阅读