博客
关于我
王道数据结构2.2.4——6、使带头结点的单链表递增有序
阅读量:632 次
发布时间:2019-03-14

本文共 484 字,大约阅读时间需要 1 分钟。

思路

直接插入排序法是一种经典的排序算法,适用于链表数据结构。其核心思想是通过逐步构建有序的子链表,最终将整个链表排序完成。

此方法的基本操作步骤如下:

  • 取出链表的第一个节点作为当前已排序的子链表的结尾
  • 从第二个节点开始,依次将每个节点插入到已排序的位置,确保大于或等于前一个节点的值
  • 重复上述步骤,直到链表处理完毕
  • 这种方法通过逐步插入节点,使链表逐渐变得有序,时间复杂度为 O(n²),在某些场景下由于其简单易懂的特点仍然被广泛使用。

    代码实现

    以下是直接插入排序算法的实现代码示例: ```c void sort(LinkList &L) { LNode *q = L, *p = NULL, *r = NULL; while (q != NULL) { p = q->next; q->next = NULL; r = NULL; while (p != NULL && (r = p->next)->data > p->data) { p->next = r; p = p->prev; } q->next = r; q = q->next; } } ```

     

    转载地址:http://spaoz.baihongyu.com/

    你可能感兴趣的文章
    Mysql中各类锁的机制图文详细解析(全)
    查看>>
    MySQL中地理位置数据扩展geometry的使用心得
    查看>>
    Mysql中存储引擎简介、修改、查询、选择
    查看>>
    Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
    查看>>
    mysql中实现rownum,对结果进行排序
    查看>>
    mysql中对于数据库的基本操作
    查看>>
    Mysql中常用函数的使用示例
    查看>>
    MySql中怎样使用case-when实现判断查询结果返回
    查看>>
    Mysql中怎样使用update更新某列的数据减去指定值
    查看>>
    Mysql中怎样设置指定ip远程访问连接
    查看>>
    mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
    查看>>
    Mysql中文乱码问题完美解决方案
    查看>>
    mysql中的 +号 和 CONCAT(str1,str2,...)
    查看>>
    Mysql中的 IFNULL 函数的详解
    查看>>
    mysql中的collate关键字是什么意思?
    查看>>
    MySql中的concat()相关函数
    查看>>
    mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
    查看>>
    MySQL中的count函数
    查看>>
    MySQL中的DB、DBMS、SQL
    查看>>
    MySQL中的DECIMAL类型:MYSQL_TYPE_DECIMAL与MYSQL_TYPE_NEWDECIMAL详解
    查看>>