链表的操作方法

NODE *list;
//list->value, list->next;
NODE *A = list;
NODE *B;






if(A==pHead)
{
	if(A->value>B->value)
	{
		A->next=B->next;
		B->next=A;
		A=B;//好像错误A0->next=B
		A0=B;
		B=A->next;
	}
	A0=A;
	A=B;
	B=A->next;
}
else
{
	NODE *A0 = Head;
	for(A=Head;A->next != NULL;A=A->next)
	{
		for(B= A->next;B!=NULL;B= B->next)
		{
	 		if(B->next!= NULL)
				B1 = B->next;//这句可以删除吗?
			if(A->value>B->value )
			{
   				A->next = B->next;
				B->next = A;
  				A0->next = B;

				A0=B;
				B=B1;//可以写成B=B->next;
				B1=B->next;//可以省去
			} 	
			A0=A;
			A=B;
			B=B1;//可以变为B=B->next;
			B1=B->next;//这个可以省去
		}
	}

}








//NODE preFirst//增加头结点,方便处理A0和A相同
//preFirst->m_pNext = pHead;
//A0=preFirst;







 

posted @ 2013-08-24 08:34  cheshulin  阅读(189)  评论(0编辑  收藏  举报