【数据结构】算法10.9 选择排序-简单选择排序
来源:互联网 发布:淘宝家具店排名 编辑:程序博客网 时间:2024/05/30 04:30
#include<stdio.h>#include<string.h>#include<stdlib.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2#define EQ(a,b) ((a) == (b))#define LT(a,b) ((a) < (b))#define LQ(a,b) ((a) <= (b))typedef int Status;typedef int ElemType;#define MAXSIZE 20typedef int KeyType;typedef char InfoType;typedef struct{ KeyType key; InfoType otherinfo;}RedType;typedef struct{ RedType r[MAXSIZE+1]; //0号单元置空或用作哨兵 int length;}SqList;/*******************************声明部分****************************************/Status CreateSqList(SqList *L);//创建顺序表Status TraverseSqList(SqList L);//打印顺序表void SelectSort(SqList *L);//简单选择排序int SelectMinKey(SqList L,int i);//在L.[i...L.length]中选择key最小的记录/*******************************函数部分****************************************/Status CreateSqList(SqList *L){ /* int i; printf("请输入长度:"); scanf("%d",&L->length); for(i = 1;i <= L->length;i++){ printf("请输入关键值:"); scanf("%d",&L->r[i].key); }*/ L->r[1].key = 49; L->r[2].key = 38; L->r[3].key = 65; L->r[4].key = 97; L->r[5].key = 76; L->r[6].key = 13; L->r[7].key = 27; L->r[8].key = 49; L->length = 8; return OK;}Status TraverseSqList(SqList L){ int i; for(i = 1;i<=L.length;i++) printf("%d ",L.r[i].key); printf("\n"); return OK;}void SelectSort(SqList *L){ int i,j; RedType temp; for(i = 1;i < L->length;++i){ j = SelectMinKey(*L,i); if(i != j){ temp = L->r[i]; L->r[i] = L->r[j]; L->r[j] = temp; }//if }//for}int SelectMinKey(SqList L,int i){ int min,ct; min = 1; L.r[0] = L.r[i]; for(ct = i; ct <= L.length; ct++){ if(L.r[ct].key < L.r[0].key){ min = ct; L.r[0] = L.r[ct]; } } return min;}/*******************************主函数部分**************************************/int main(){ SqList L; printf("创建一个顺序表:\n"); CreateSqList(&L); TraverseSqList(L); printf("\n简单选择排序:\n"); SelectSort(&L); TraverseSqList(L); return 0;}
0 0
- 【数据结构】算法10.9 选择排序-简单选择排序
- [数据结构与算法]简单选择排序算法
- 数据结构----简单选择排序
- 数据结构简单选择排序
- 数据结构算法----选择排序
- 数据结构-选择排序算法
- [排序算法,选择排序]--简单选择排序
- 数据结构-选择排序-简单选择排序
- 数据结构与算法之排序算法---简单选择排序
- 算法:简单选择排序
- 简单选择排序算法
- 简单选择排序算法
- 简单选择排序算法
- 算法:简单选择排序
- 简单选择排序算法
- 简单选择排序算法
- 简单选择排序算法
- 简单选择排序算法
- Itellij Idea 常用快捷键
- operator int () const; // 类型转换操作符函数(转整型)
- 第二章:java学习基础语法
- Fast Exact Search in Hamming Spacewith Multi-Index Hashing
- 【关于科研】自己认为的一些做好科研的建议
- 【数据结构】算法10.9 选择排序-简单选择排序
- JSON
- logstash 格式处理
- iOS iTunes Connect协议更新导致无法构建新版本
- GreenDao3.0+的配置使用以及数据库升级
- 新版本提示
- 使用Memcache实现Session共享(单点登录)的原理
- Qt线程同步之一个生产者多个消费者
- 01-Java常见的数据类型