> 백엔드 개발 > PHP 튜토리얼 > PHP 배열 함수에서 스택과 큐를 구현하는 방법 소개(코드 예)

PHP 배열 함수에서 스택과 큐를 구현하는 방법 소개(코드 예)

不言
풀어 주다: 2023-04-05 07:40:01
앞으로
3120명이 탐색했습니다.

이 글은 PHP 배열 함수를 사용하여 스택과 큐를 구현하는 방법(코드 예제)에 대한 소개입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다. 당신에게.

"PHP는 세계 최고의 언어입니다!"

하하 여러분 새해 복 많이 받으세요 첫 문장 뒤에는 다들 욕하고 다투고 싶은 충동이 마귀와 같습니다. 아직도 멈출 수 없나요? 설날에 너무 심심해서 가끔 구입했던 책 "PHP+Mysql 웹사이트 개발 소개 및 개선"을 꺼내서 다시 읽었습니다. 집에서 Wi-Fi에 연결한 후 실험용 서버로 사용해보세요. 오늘 책에 있는 예제를 살펴보던 중 배열에 대한 네 가지 기능을 발견했습니다. PHP에서 제공하는: array_push(), array_pop(), array_unshift(), array_shift()는 배열 자체와 결합되어 스택과 큐를 동시에 구현합니다. C 언어에 비해 이러한 행복은 너무 갑작스럽습니다.

직접 $rangelist=array("Wolf Warrior","Wolf Warrior 2","Wandering Earth")인 스택을 정의하고, 이를 작동하고, push array_push($rangelist , "Wu Jing"), pop $result=array_pop($rangelist), 요소를 $result에 직접 팝합니다. C 언어로 구현된 다음 코드와 비교하면 정말 웃겨야 할 코드입니다. 매번 걱정하곤 했습니다. 인터넷 개발은 손에 칼도 없고 무엇을 해야할지 모릅니다. 이렇게 좋은 도구가 눈앞에 있는데 어떻게 집어들지 모른다는 것은 정말 어리석은 일입니다.

typedef struct stack
{
	ElemType Data[MAXSIZE];
	int top;
}SqStack;
 

 
bool Push(SqStack *s,ElemType e)//压栈 
{
	if(s->top==MAXSIZE-1)
	    {
    	printf("Stack is Full\n");   	
		return FALSE;
	    }
	    s->Data[++(s->top)]=e;//先移指针再入数 
	    return TRUE;
}
bool  Pop(SqStack *s,ElemType *e)//出栈 
{
	if(s->top==-1)
	    {
    	printf("Stack is Empty\n");   	
		return FALSE;
	    }
		*e=s->Data[(s->top)--];//先取数再减指针 
		return TRUE;
}
로그인 후 복사

큐 또는 배열 정의, $quenelist=array("Wolf Warrior","Wolf Warrior 2","Wandering Earth"), queue array_unshift($quenelist , "작업 Red Sea"), dequeue, $result=array_shift($quenelist), 대기열에서 제거된 요소는 $result에 저장되며 상쾌하고 편안합니다. C 언어 코드를 다시 살펴보세요:

 typedef struct queue
{
	ElemType Data[MAXSIZE];
	int front,rear;
}SqQueue;
 
 
bool EnQueue(SqQueue *q,ElemType e)//入队 
{
	if((q->rear+1)%MAXSIZE==q->front)  //队满 
	    {
    	printf("Queue is Full\n");   	
		return FALSE;
	    }
	    q->Data[q->rear]=e;
		q->rear=(q->rear+1)%MAXSIZE;//队尾指针加1取模 
		printf("EnQueue data %d into Queue \n",e);
	    return TRUE;
}
bool  DeQueue(SqQueue *q,ElemType *e)//出队 
{
	if(q->rear==q->front)
	    {
    	printf("Queue is Empty\n");   	
		return FALSE;
	    }
		*e=q->Data[q->front];//先取数再移指针 
		q->front=(q->front+1)%MAXSIZE;  //队头指针加1取模  
		printf("DeQueue data is %d\n",*e);
		return TRUE;
}
로그인 후 복사

위 내용은 PHP 배열 함수에서 스택과 큐를 구현하는 방법 소개(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿