이 글은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!