1. 程式人生 > >資料結構的判空操作

資料結構的判空操作

1.順序表的判空:
bool ListEmpty(SqList *L)	//判線性表是否為空表
{
	return(L -> length == 0);  //長度為0即為空表
}

2.單鏈表的判空:

bool ListEmpty(LinkList *L)	//判線性表是否為空表
{
	return(L->next == NULL);   //連結串列的指標指向下一個為空為空表
} 

3.雙鏈表的判空:
bool ListEmpty(DLinkList *L)	//判線性表是否為空表
{
	return(L -> next == NULL);
}


4.迴圈單鏈表的判空:
bool ListEmpty(LinkList *L)	//判空表
{
	return(L -> next == L);
}


5.迴圈雙鏈表的判空:
bool ListEmpty(DLinkList *L)	//判線性表是否為空表
{
	return(L -> next == L);
}


6.順序棧的判空:
bool StackEmpty(SqStack *s)		//判斷棧空
{
	return(s -> top == -1);
}
7.鏈棧的判空:
bool StackEmpty(LiStack *s)	//判斷棧是否為空
{
	return(s -> next == NULL);
}


8.順序佇列的判空:
bool QueueEmpty(SqQueue *q)	//判斷佇列空
{
	return(q->front==q->rear);
}


9.鏈佇列的判空:
bool QueueEmpty(LiQueue *q)	//判斷佇列是否為空
{
	return(q -> rear == NULL);
}