Java教程

删除带头结点的非空单链表中值相同的多余结点

本文主要是介绍删除带头结点的非空单链表中值相同的多余结点,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

结构体为:

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

算法段:

void Delete(LinkList &L)
  {
  	LNode *p = L->next;
  	LNode *pre;
	LNode *q;
	LNode *t;
	while(p->next != NULL)
	{
		pre = p;
		q = pre->next;
		while(q != NULL)
		{
			if(p->data == q->data)
			{
				t = q;
				pre->next = q->next;
				q = pre->next;
				delete t;
			}else{
				q = q->next;
				pre = pre->next;
			}
		}
		p = p->next;
	}
  	
   } 
这篇关于删除带头结点的非空单链表中值相同的多余结点的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!