【正确答案】正确答案:对链表进行遍历,在每趟遍历中查找出整个链表的最小值元素,输出并释放结点所占空间;再查次最小值元素,输出并释放空间,如此下去,直至链表为空,最后释放头结点所占存储空间。核心语句段如下: while(head一>next!=null) //循环到仅剩头结点 {pre=head;r=pre; //pre为元素最小值结点的前驱结点的指针 while(P!=null) //p指向当前待处理结点,初始指向第一元素 {if(p一>data
next一>data)pre=r; //记住当前最小值结点的前驱 r=p;p=p一>next; //r是P的前驱 } cout<next一>data<next ; pre一>next=u一>next ; free(u); //删除结点,释放结点空间 }//while(head一>next!=null) free(head); //释放头结点