看算法看到了插入法排序,现在就把小弟用链表实现的插入法排序贴上来吧,希望大家提出意见,谢谢!如果各位大虾有更好的写法,可以和我讨论,如果我写的不好,也可以给我提出来,本人用的是vs2008。/*************************************************************************** *FileName:InsertSortLinked.cpp * *Author:FlySky Young * *Data:Nov/16/2010 * *Description:Because the fight with my girlfriend, * *so write a program to make myself calm down. * ****************************************************************************/ #include <iostream> using namespace std; class Node { public: int value; Node *next; }; //插入排序,建立链表 void insert(Node *&head, int data) { Node *s = NULL; Node *p = NULL; Node *q = NULL; s = new Node(); s->value = data; s->next = NULL; //如果头指针是空的,就将head指向s if (head == NULL) { head = s; return; } //如果值比头小,就插入头结点之前 if (head->value > s->value) { s->next = head; head = s; return; } //搜索插入 for (q = head, p = head->next; p; q = p, p = p->next) { if (p->value > s->value) { s->next = p; q->next = s; return; } } q->next = s; return; } void showList(Node *head) { while (head) { cout<<head->value<<" "; head = head->next; } return; } void main() { int k; Node *head = NULL; cin>>k; //输入值 while (k != -1) { insert(head, k); cin>>k; } showList(head); //输出有序链表 }

转载于:https://www.cnblogs.com/JPAORM/archive/2010/11/21/2509914.html

算法不会,尚能饭否之排序——插入排序法(用链表实现)相关推荐

  1. 02_Python算法+数据结构笔记-冒泡排序-选择排序-插入排序-快排-二叉树

    b站视频:路飞IT学城 清华计算机博士带你学习Python算法+数据结构_哔哩哔哩_bilibili 文章目录 #11 排序介绍 #12 冒泡排序介绍 #13 冒泡排序 #14 选择排序 #15 插入 ...

  2. c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习

    材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...

  3. python中怎么比较两个列表的大小_python中对列表元素大小排序(冒泡排序法,选择排序法和插入排序法)—排序算法...

    前言 排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列.本文主要讲述python中经常用的三种排序算法,选择排序法 ...

  4. 排序算法(一)--插入排序法折半插入排序法

    约定: 假设数据中有n个数据元素(关键字).排列算法中,将序列中各关键字值依次存放于类型为keytype的数组元素K[1], K[2], K[3], -, K[n]中. 排序结果按照数据元素(关键字) ...

  5. C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入

    例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...

  6. 排序算法之插入排序法

    无论是C语言相关书籍还是算法等等,很多种书籍上都有介绍排序算法,而排序算法重要的在于它的思想,这也是一个程序的灵魂,相信大家也早都知道.在此,我简单介绍一下插入排序法的基本思想,以供一些初学者及掌握不 ...

  7. 排序算法之简单插入排序法

    对于初学者来说,排序算法是C语言学习的一个重点和难点,我就来分享一下我的学习心得吧! 排序算法有3类:1.交换类排序法.包括冒泡排序和快速排序 2.插入类排序法.包括简单插入排序和希尔排序 3.选择类 ...

  8. python中对列表元素大小排序(冒泡排序法,选择排序法和插入排序法)—排序算法

    前言 排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列.本文主要讲述python中经常用的三种排序算法,选择排序法 ...

  9. java插入法排序_java算法之插入排序法

    思想:插入排序法的思想就是从数组的第二个元素开始,将数组中的每一个元素按照规则插入到已排好序的数组中以达到排序的目的.一般情况下将数组的第一个元素作为启始元素,从第二个元素开始依次插入.由于要插入到的 ...

最新文章

  1. 机器学习基础---架构设计
  2. bom表_MicroProfile 2.2 BOM导入支持
  3. 吕布流水账 -- 纪念我的爱情
  4. xp下administrator用户登录条不显示,怎么办?
  5. 给字母保密的c语言,C语言练习题
  6. vs2019编写Linux c/c++项目
  7. springboot前端传参date类型后台处理方式
  8. LeetCode 47 全排列 II
  9. glide源码中包含了那种设计模式_源码中的设计模式-单例模式
  10. 【事件驱动】【数码管识别】(C++动态链接库的封装和调用)
  11. 灵悟礼品网上专卖店——分析类似项目的布局和商品的分类模式
  12. 从TextBox的升级看VB6与VB2010的不同~
  13. JavaScript红宝书、犀牛书(2本)简介
  14. 《Java从入门到放弃》JavaSE入门篇:集合
  15. 计算机软件卡死,电脑运行慢,卡或软件卡死无响应的解决方法
  16. html5怎么给视频加字幕,怎么给视频添加文字 怎么用Premiere Pro cs6给视频中添加文字...
  17. 域名微信拦截html代码,多域名下获取微信openId,通过拦截器注解实现,减少代码量以及业务混淆...
  18. 微信小程序中时间戳和日期的相互转换
  19. 文化先锋A6客户端自动登陆
  20. Mac 怎么修改开机背景详解!

热门文章

  1. spring-test测试demo
  2. QUnit系列 -- 5.QUnit源码分析之大致结构
  3. 【Java从0到架构师】JDBC、Spring JDBC、JUnit
  4. 软件设计师备考知识06--树
  5. 【网络安全工程师面试题】数据库存在的漏洞及渗透方法
  6. centos不同版本修改主机名的正确方法
  7. [转]从根上理解高性能、高并发:深入计算机底层,理解线程与线程池
  8. 读书笔记_打开量化投资的黑箱04
  9. GBDT(MART) 迭代决策树入门教程
  10. 从企业管理看报表软件的应用