选择排序 分类: 算法 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结点右孩子 ...