//实现直接选择排序算法#include<stdio.h>
#include<malloc.h>
#define MAXE 20typedef int KeyType;
typedef char InfoType[10];typedef struct
{KeyType key;InfoType data;
}RecType;void SelectSort(RecType r[],int n)// 直接选择排序算法
{int i,j,k,l;RecType temp;for(i=0;i<n-1;i++)//做第i趟排序{k=i;for(j=i+1;j<n;j++)//在当前无序区r[i....n-1]中选择关键字最小的r[k]if(r[j].key<r[k].key)k=j;//k记下目前找到的最小关键字所在的位置if(k!=i)//交换r[i]和r[k]{temp=r[i];r[i]=r[k];r[k]=temp;}printf("      i=%d    ",i);//输出每一趟的排序结果for(l=0;l<n;l++)printf("%4d",r[l].key);printf("\n");}
}int  main()
{int i,k,n,m=5;KeyType a[]={6,8,7,9,0,1,3,2,4,5};n=sizeof(a)/4;RecType r[MAXE];for(i=0;i<n;i++)  r[i].key=a[i];printf("\n");printf("初始关键:    ");for(k=0;k<n;k++)printf("%4d",r[k].key);printf("\n");SelectSort(r,n);printf("最后结果:    ");for(k=0;k<n;k++)printf("%4d",r[k].key);printf("\n\n");return 0;
}

数据结构源码笔记(C语言描述)汇总:

数据结构源码笔记(C语言):英文单词按字典序排序的基数排序

数据结构源码笔记(C语言):直接插入排序

数据结构源码笔记(C语言):直接选择排序

数据结构源码笔记(C语言):置换-选择算法

数据结构源码笔记(C语言):Huffman树字符编码

数据结构源码笔记(C语言):Josephus问题之顺序表

数据结构源码笔记(C语言):Josephus问题之循环链接表

数据结构源码笔记(C语言):多项式合并

数据结构源码笔记(C语言):二叉树之叶子结点旋转销毁

数据结构源码笔记(C语言):哈夫曼树

数据结构源码笔记(C语言):集合的位向量表示

数据结构源码笔记(C语言):链接队列

数据结构源码笔记(C语言):链接栈

数据结构源码笔记(C语言):线性表的单链表示

数据结构源码笔记(C语言):线性表的顺序表示

数据结构源码笔记(C语言):栈的基本操作

数据结构源码笔记(C语言):中缀表达式

数据结构源码笔记(C语言):希尔插入排序

数据结构源码笔记(C语言):索引文件建立和查找

数据结构源码笔记(C语言):冒泡排序

数据结构源码笔记(C语言):快速排序

数据结构源码笔记(C语言):可变长度字符串的快速排序

数据结构源码笔记(C语言):基数排序

数据结构源码笔记(C语言):二路归并排序

数据结构源码笔记(C语言):堆排序

数据结构源码笔记(C语言):二叉树搜索树Kruskal

数据结构源码笔记(C语言):二叉搜索树Prim

数据结构源码笔记(C语言):最短路径弗洛伊德算法

数据结构源码笔记(C语言):深度、广度优先生成树

数据结构源码笔记(C语言):邻接矩阵转化邻接表

数据结构源码笔记(C语言):统计字符串中出现的字符及其次数

数据结构源码笔记(C语言):顺序查找

数据结构源码笔记(C语言):哈希表的相关运算算法

数据结构源码笔记(C语言):分块法查找

数据结构源码笔记(C语言):二分查找

数据结构源码笔记(C语言):二叉树遍历

数据结构源码笔记(C语言):二叉平衡树的相关操作算法

数据结构源码笔记(C语言):二叉排序树的基本操作算法

数据结构源码笔记(C语言):B树的相关运算算法

数据结构源码笔记(C语言):直接选择排序相关推荐

  1. 数据结构源码笔记(C语言):置换-选择算法

    //实现置换-选择算法#include<stdio.h> #include<malloc.h> #include<string.h> #include<std ...

  2. 数据结构源码笔记(C语言描述)汇总

    数据结构源码笔记(C语言):英文单词按字典序排序的基数排序 数据结构源码笔记(C语言):直接插入排序 数据结构源码笔记(C语言):直接选择排序 数据结构源码笔记(C语言):置换-选择算法 数据结构源码 ...

  3. 数据结构源码笔记(C语言):英文单词按字典序排序的基数排序

    //实现英文单词按字典序排序的基数排序算法#include<stdio.h> #include<malloc.h> #include<string.h>#defin ...

  4. 数据结构源码笔记(C语言):索引文件建立和查找

    //实现索引文件建立和查找算法#include<stdio.h> #include<malloc.h> #include<string.h> #include< ...

  5. 数据结构源码笔记(C语言):快速排序

    //实现快速排序算法 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; type ...

  6. 数据结构源码笔记(C语言):冒泡排序

    //冒泡排序算法实现 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; type ...

  7. 数据结构源码笔记(C语言):希尔插入排序

    //实现希尔插入排序算法 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; ty ...

  8. 数据结构源码笔记(C语言):直接插入排序

    //实现直接插入排序算法#include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; typ ...

  9. 数据结构源码笔记(C语言):Huffman树字符编码

    #include <stdio.h> #include<string.h> #define N 10 /*待编码字符的个数,即树中叶结点的最大个数*/ #define M 2* ...

最新文章

  1. Android Activity和Fragment的转场动画
  2. visual studio C语言指针提示:使用未初始化的内存xx
  3. 2018.8.14笔记
  4. ionic3 调用本地相册并上传图片
  5. 爬虫入门-3.初识BeautifulSoup
  6. 粒子群优化算法(Particle Swarm Optimization)的 Matlab(R2018b)代码实现
  7. 利用blink CEP实现流计算中的超时统计问题
  8. 深入理解vsto,开发word插件的利器
  9. Arduino UNO驱动液晶屏TFT_LCD_ST7789v
  10. Android平台介绍
  11. mx250显卡天梯图_MX250和150差别大吗?MX250和MX150区别对比 (全文)
  12. 投影仪显示服务器不能连接不上,极米投影仪常见故障和自助解决方案?
  13. 闲置服务器如何利用起来赚点零花钱
  14. 【Android】用Cubism 2制作自己的Live2D——官方App样例源码学习(4)!
  15. m_map包 绘制世界地图并投点(matlab)
  16. 计算机论文一千五,研究生为一千五奖学金花七八千找期刊登论文
  17. dojo发布者订阅者(dojo/topic模块)
  18. [css]中间文字两边分割线的方法
  19. 2006北京最佳小吃店大排行
  20. 微信收发消息逆向分析-最新微信版本(3.2.1.154)

热门文章

  1. xlst 解析 html c,怎樣實現利用xslt把xml文件內容顯示到html文件中?急!
  2. python埋点自动化_iOS自动化埋点的实现
  3. CompletableFuture源码详解之java.util.concurrent.CompletableFuture#runAsync(java.lang.Runnable)
  4. 编译分布式并行版caffe(Open MPI)教程
  5. Python3 系列之 编程规范篇
  6. 实用:前端小白的切图技巧
  7. 375. Guess Number Higher or Lower II
  8. Webx框架:Spring Schema 和 Spring Ext
  9. 下载数据CityEngine示例数据(Tutorial)配套视频教程(英文)
  10. 使用Image类提示内存不足问题