单链表的直接插入排序

来源:互联网 发布:人工智能手机芯片 编辑:程序博客网 时间:2024/06/06 23:06

单链表数据结构

typedef struct node{    ElemType data;    struct node* next;}Single_List;

算法

//直接插入排序Single_List* Insert_Sort(Single_List* list){    //这里的单链表是带头结点的单链表     Single_List* cur,*pre,*p;    cur = list->next->next;     //指向第二个结点     list->next->next = NULL;    while(cur){        p = cur->next;      //保存当前结点的下一个结点的指针        pre = list;        //找到合适的位置         while(pre->next && pre->next->data < cur->data){            pre = pre->next;        }        //进行插入操作         cur->next = pre->next;         pre->next = cur;        cur = p;    }    return list;}

说明

对于直接插入排序的内容请移步我之前的博客:简单排序
对于单链表的内容请移步我之前的博客:单链表