删除单链表L中一个最小值结点的高校算法(假设最小值结点是唯一的)
//删除单链表L中一个最小值结点的高校算法(假设最小值结点是唯一的)#include#include #include using namespace std;typedef struct LNode{ int data; struct LNode *next;} LNode,*LinkList;LinkList Delete_Min(LinkList &L){ LNode *pre=L,*p= pre->next; //p 为工作指针,pre指向其前驱 LNode *minpre=pre,*minp=p; //保存最小值结点及其前驱 while(p!=NULL) { if(p->data data) { minp=p; minpre=pre; } pre=p; //继续扫描下一个结点 p=p->next; //删除最小值结点 } minpre->next=minp->next; //删除最小值结点 free(minp); return L;}int main(){ return 0;}