给定一个带头结点的单链表,设head为头指针
,使其按递增次序输出单链表中各个结点的数据元素,并释放结点所占的存储空间(要求:不允许使用数组作为辅助空间)
#include#include struct Lnode { int data; Lnode *next; }; int Init(struct Lnode *L, int i) { struct Lnode *p; struct Lnode *q=L; int j=0; while(jdata)); p->next =NULL; q->next = p; q= p; j++; } return 0; } int min_delete(struct Lnode *head) { struct Lnode *p,*q,*t; while(head->next!=NULL) { t = head; q = head->next; p = q->next; while(p!=NULL) { if(q->data data) { int i = q->data; q->data = p->data; p->data = i; t =q; q = p; p = p->next; } else { t = q; q = p; p = p->next; } } printf("%dt",q->data); free(q); q = NULL; t->next = NULL; } return 0; } int main() { struct Lnode Head; struct Lnode *L=&Head; L->next = NULL; int i = 5; Init(L,i); min_delete(L); return 0; }



