当前位置:网站首页>选择排序法

选择排序法

2022-06-23 03:32:00 @风景邮递Yuan

排序需要用到的结构和函数

# define MAXSIZE 10
 typedef struct {
     /* 用 于 存 储 要 排 序 数 组 , r[0] 用 作 哨 兵 或 临 时 变 量 */
     int r[ MAXSIZE + 1];
     /* 用 于 记 录 顺 序 表 的 长 度 */
     int length ;
 } SqList ;
 /* 交 换 L 中 数 组 r 的 下 标 为 i 和 j 的 值 */
 void swap ( SqList *L, int i, int j){
     int temp = L- >r[i];
     L->r[i] = L- >r[j];
     L->r[j] = temp ;
 }

选择排序序程序

每次找一个最小的数出来

 

/* 对 顺 序 表 L 作 简 单 选 择 排 序 */
 void SelectSort ( SqList *L){
 int i, j, min ;
 for (i = 1; i < L- > length ; i++) {
     min = i;/* 将 当 前 下 标 定 义 为 最 小 值 下 标 */
         /* 循 环 之 后 的 数 据 */
         for (j = i + 1; j <= L- > length ; j++) {
         /* 如 果 有 小 于 当 前 最 小 值 的 关 键 字 */
             if (L- >r[min ] > L- >r[j])
             /* 将 此 关 键 字 的 下 标 赋 值 给 min */
                 min = j;
                }
          if (i != min ) 
              /* 若 min 不 等 于 i , 说 明 找 到 最 小 值 */
              /* 交 换L->r[i] 与L- >r[min ] 的 值 */
              swap (L, i, min );
      }
 }

原网站

版权声明
本文为[@风景邮递Yuan]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_50942093/article/details/125413223

随机推荐