소개
“마스터가 되고 싶다면 이 기술을 연습해야 합니다.”
훌륭한 프로그래머가 되기 위해서는 자료구조와 알고리즘이 필수과목입니다. 오늘날의 웹 프로그래머는 상대적으로 적은 수의 전통적인 알고리즘과 데이터 구조를 사용합니다. 왜냐하면 많은 알고리즘이 패키지되어 있고 특정 구현 세부 사항에 대해 걱정할 필요가 없기 때문입니다. 예를 들어 PHP의 스택 작업 array_pop 및 스택 작업 array_push는 모두 지정되어 있습니다. 기본 알고리즘에 대한 연구는 점점 줄어들고 결국 우리는 도구의 꼭두각시가되었습니다.
그래서 저는 여전히 더 많은 코더들이 기초부터 배우기를 권합니다. 이번 글에서는 가장 친숙한 스택 연산 부터 시작해 스택에 익숙해지도록 하겠습니다.
스택이란 무엇인가요?
'후입선출'이라는 공식이 가장 인상 깊었던 문장이고, 선생님의 설명도 가장 인상 깊었습니다.
정의: 스택은 삽입과 삭제를 한 위치로만 제한하는 선형 목록입니다. 이 위치는 선형 목록의 끝이며 스택의 상단이라고 합니다.
프로세스: 먼저 들어온 데이터는 스택의 맨 아래로 푸시되고, 마지막 데이터는 스택의 맨 위에 놓이게 되며, 데이터를 읽어야 할 때는 스택의 맨 위에서 데이터가 팝됩니다. (마지막 데이터가 먼저 읽혀집니다.)
분석
정의와 프로세스를 통해 데이터 구조(빨간색 표시), 액션을 분석합니다. 부분(파란색으로 표시), 행동 규칙(노란색으로 표시).
🎜>Components
데이터: 선형 테이블(배열 구조로 저장 및 이름 지정)을 데이터로 저장), end
인덱스 (int 구조에 저장하고 이름을 end로 지정) , 초기 값은 null입니다. 처음에는 선형 테이블에 요소가 없기 때문에 끝
인덱스 )가 없으며 데이터를 지속적으로 가져오고 추가하기 때문에 이 끝은 변경 요소입니다. ).액션(방법): 푸시(푸시: 룰, 선형 테이블 끝에 배치), 팝(팝: 룰, 끝에서 꺼내고 끝 위치가 앞으로 이동).
인코딩
🎜>
요약
위는 제가 스택을 분석하고 이해하는 과정입니다. 저는 PHP 코더이기 때문에, 분석하고 코딩하는 PHP의 관점. C 언어로 코딩하는 경우 배열은 최대 너비를 지정해야 합니다. 왜냐하면 C 언어 배열은 PHP 배열과 달리 스스로 커질 수 없고 초기 너비를 가져야 하기 때문입니다.Chuanshanjia님의 참여에 감사드립니다.
위에서는 PHP 프로그래머들이 시작과 인덱싱을 포함하여 데이터 구조와 알고리즘을 배울 수 있도록 "스택"을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.