王道书P40 T9(单链表实现)

/**
 * 用顺序表实现 王道P40 T9
 *
 * ①算法思想:
 * 当 L -> next 不为空时,每循环一次找到一个最小值,输出并释放,一直循环直到 L -> next == NULL。
 *
 * ②数据结构:
 *  typedef struct LNode{
        char data;
        struct LNode *next;
    }LNode,*LinkList;
 *
 * ③算法设计
 */


#include 
#include 

typedef struct LNode{
    int data;
    struct LNode* next;
}LNode,*LinkList;

void IncreasingPrint(LinkList &L){
    while(L -> next != NULL){
        LinkList p = L -> next,pre = L;//要保持一个前驱 pre
        LinkList Minpre = pre,Minp = p;//最小值的前驱和最小值(相当于count)
        while(p){
            if(Minp -> data > p -> data){
                Minp = p;
                Minpre = pre;
            }
            pre = p;
            p = p -> next;
        }
        Minpre -> next = Minp -> next;
        printf("%d ",Minp -> data);
        free(Minp);
    }
}

你可能感兴趣的:(王道书第二章综合应用题,数据结构,算法,c语言,c++,链表)