【データ構造】単一チェーンテーブル(先頭ノード)の最小値を削除する

424 ワード

考え方:まずチェーンを通して、最小値の前駆ノードを確定し、その後削除操作を行います.
void deleteMin(LinkList List)
{
	LinkList L = List;//   
	LinkList Min = L;//              
	while (List->next != NULL)
	{
		if (List->next->data < Min->next->data)//            Min
		{
			Min = List;//  Min     
		}
		List = List->next;//     ,    
	}
	LinkList temp = Min->next;//      
	Min->next = temp->next;
	free(temp);
}