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

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

不言
不言앞으로
2019-02-12 14:38:092966검색

이 글은 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으로 문의하시기 바랍니다. 삭제