选择排序 分类: 算法 c/c++ 2014-10-10 20:32 509人阅读 评论(0) 收藏
选择排序(假设递增排序)
每次选取从当前结点到末尾结点中最小的一个与当前结点交换,每一轮固定一个元素位置。
时间复杂度O(n^2),空间复杂度O(1)。下面的示例代码以带头结点的链表为存储结构:
#include<stdio.h>
#include<stdlib.h>
#define Elemtype double
struct Node
{
Elemtype data;
struct Node *next;
};
void listsort(Node*h)
{
Node*p=h->next;
while(p!=NULL)
{
Node*q=p;
Node*k=p;
Elemtype min=p->data;
while(q!=NULL)
{
if(min>q->data)
{
min=q->data;
k=q;
}
q=q->next;
}
Elemtype tmp=p->data;
p->data=k->data;
k->data=tmp;
p=p->next;
}
}
int main()
{
Node*h=(Node*)malloc(sizeof(Node));
h->next=NULL;
for(int i=0;i<10;i++)
{
Node*p=(Node*)malloc(sizeof(Node));
scanf("%lf",&p->data);
p->next=h->next;
h->next=p;
}
listsort(h);
Node*q=h->next;
while(q!=NULL)
{
printf("%lf\n",q->data);
q=q->next;
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
选择排序 分类: 算法 c/c++ 2014-10-10 20:32 509人阅读 评论(0) 收藏的更多相关文章
- Windows中的DNS服务——正向解析&反向解析配置                                                       分类:            AD域             Windows服务             2015-07-16 20:21    19人阅读    评论(0)    收藏
		
坚信并为之坚持是一切希望的原因. DNS服务是AD域不可或缺的一部分,我们在部署AD域环境时已经搭建了DNS服务(windows server 2008 R2域中的DC部署),但是DNS服务的作用还是 ...
 - Ombrophobic Bovines                                                       分类:            POJ             图论             最短路             查找             2015-08-10 20:32    2人阅读    评论(0)    收藏
		
Ombrophobic Bovines Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16539 Accepted: 3605 ...
 - 各种排序算法的分析及java实现                                                    分类:            B10_计算机基础             2015-02-03 20:09    186人阅读    评论(0)    收藏
		
转载自:http://www.cnblogs.com/liuling/p/2013-7-24-01.html 另可参考:http://gengning938.blog.163.com/blog/sta ...
 - Shell脚本编程入门(一)                                                    分类:            学习笔记             linux             ubuntu             2015-07-09 21:06    29人阅读    评论(0)    收藏
		
最近在学shell,记录一下. if语句的使用: 1.判断两个参数大小 #!/bin/sh #a test about if statement a=10 b=20 if [ $a -eq $b ]; ...
 - House Robber                                                    分类:            leetcode             算法             2015-07-09 20:53    2人阅读    评论(0)    收藏
		
DP 对于第i个状态(房子),有两种选择:偷(rob).不偷(not rob) 递推公式为: f(i)=max⎧⎩⎨⎪⎪{f(i−1)+vali,f(i−2)+vali,robi−1==0robi−1 ...
 - NYOJ 119 士兵杀敌(三)【ST算法】                                                    分类:            Brush Mode             2014-11-13 20:56    101人阅读    评论(0)    收藏
		
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=119 解题思路: RMQ算法. 不会的可以去看看我总结的RMQ算法. http://blo ...
 - 山东理工大学第七届ACM校赛-字符的变化                                                       分类:            比赛             2015-06-26 10:32    46人阅读    评论(0)    收藏
		
字符的变化 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 一个长度为n(1<=n<=1000)的字符串(只包含小写字 ...
 - APP被苹果APPStore拒绝的各种原因                                                    分类:            ios相关             app相关             2015-06-25 17:27    200人阅读    评论(0)    收藏
		
APP被苹果APPStore拒绝的各种原因 1.程序有重大bug,程序不能启动,或者中途退出. 2.绕过苹果的付费渠道,我们之前游戏里的用兑换码兑换金币. 3.游戏里有实物奖励的话,一定要说清楚,奖励 ...
 - hadoop调优之一:概述                                                    分类:            A1_HADOOP             B3_LINUX             2015-03-13 20:51    395人阅读    评论(0)    收藏
		
hadoop集群性能低下的常见原因 (一)硬件环境 1.CPU/内存不足,或未充分利用 2.网络原因 3.磁盘原因 (二)map任务原因 1.输入文件中小文件过多,导致多次启动和停止JVM进程.可以设 ...
 
随机推荐
- Edmonds 开花算法
			
Edmonds 开花算法 input: 图G,匹配M,未饱和点u idea: 查找从 u 開始的 M-交错路径.对每一个顶点记录父亲节点. 发现花朵.则收缩. 维护 S 和 T.S 表示沿着已经饱和的 ...
 - convnet源代码解析(一):基础准备
			
Jeremy Lin ConvNet是一个基于GPU实现的卷积神经网络开源码(C++11).是由多伦多大学的Geoffrey Hinton深度学习团队编写的,它的最初版本号是Hinton的学生Alex ...
 - OpenGL中视点模型坐标的理解
			
个人的理解: gluLookAt中的eye.center和up的坐标原点是ModelView中的坐标原点,右手坐标系,Z轴正向指向显示器外侧 glOrtho中的near和far参数距离相对eye而言, ...
 - OpenCV2马拉松第13圈——模版匹配
			
收入囊中 在http://blog.csdn.net/abcd1992719g/article/details/25505315这里,我们已经学习了怎样利用反向投影和meanshift算法来在图像中查 ...
 - 设置Table边框的CSS
			
<!DOCTYPE html> <html> <head> <style> table, td, th { border: 1px solid blac ...
 - java泛型-类型擦除
			
详细内容:参考java编程思想P373,p650. Java 泛型(Generic)的引入加强了参数类型的安全性,减少了类型的转换,但有一点需要注意:Java 的泛型在编译器有效,在运行期被删除,也就 ...
 - bacth参数说明  cmd parameter
			
http://www.robvanderwoude.com/parameters.php Windows NT 4 introduced a set of new features for comma ...
 - java代码实现JDBC连接MySql以及引用驱动程序包
			
JDBC链接MySql JDBC链接MySql的话题已经老掉牙了,这次我只想通过使用简洁的代码实现,采用封装的思想,将链接MySql的代码封装在类的静态方法中,供一次性调用返回java.sql ...
 - 四:多线程--NSOperation简单介绍
			
一.NSOperation简介 1.NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperationQu ...
 - poj中的一些线段树
			
poj2828 链接:http://poj.org/problem?id=2828 题解: 初始状态 首先是插入3 69 1,4结点有4个位置, 1,2结点有2个位置,小于3,因此放到1,4结点右孩子 ...