单链表从小到大排序
单链表从小到大的排序,采用插入排序的方式:将原无序链表的头节点取出,当做新有序链表的头节点。然后开始遍历无序链表,每取出一个节点就与新有序链表中的各节点比较,然后放入到适当的位置。
1、在头文件linklist.h里面创建链表:
typedef int data_t;
typedef struct node {
data_t data;
struct node *next;
} listnode, *linklist;
linklist list_creat();
int list_show(linklist H);
int list_sort(linklist H);
2、创建链表头节点H,并初始化:
#include "linklist.h"
#include <stdio.h>
#include <stdlib.h>
linklist list_creat() {
linklist H;
H = (linklist)malloc(sizeof(listnode));
if(H == NULL) {
printf("error:malloc failed!"