[데이터 구조] 링크, 스 택, 대기 열 에 대한 정리
앞에서 이미 이 세 가지 구조 간 에 관계 가 있다 고 말 했 으 니, 여기 서 특별히 정리 해 보 자.
우선 우 리 는 세 가지 구조 정 의 를 고려 해 보 자.
//
struct node{
struct node *next;
int data;
};
//
struct node{
int data;
struct node *next;
};
struct stack{
struct node *top;
struct node *buttom;
};
//
struct node{
int data;
struct node *next;
};
struct queue{
struct node *front;
struct node *rear;
}
당신 은 약간의 이상 을 발 견 했 을 것 입 니 다. 왜 링크 는 node 의 정의 만 있 습 니까?다시 한 번 생각해 보면 이 세 가지 모델 을 살 펴 보면 우 리 는 체인 시계 가 사실은 노드 로 구 성 된 것 을 발견 할 수 있 습 니 다. 창고 와 대기 열 은 우 리 는 그것 을 용기 로 간주 한 다음 에 안 으로 node 를 넣 을 수 있 습 니 다. 우리 의 체인 시계 도 머리 지침 과 꼬리 지침 이 있 습 니 다. 우 리 는 이렇게 정의 할 수 있 습 니 다. struct linkedlist {
struct node *head;
struct node *tail;
};
이렇게 하면 아무런 문제 가 없다. 다만 모두 가 예전 의 방법 을 사용 하 는 것 에 익숙 해 졌 다. 왜냐하면 우 리 는 머리핀 이 노드 로 약화 되 었 다 는 것 을 알 수 있 기 때문이다. 이렇게:
struct node *head;
struct node *A=new node;
struct node *B=new node;
A->next=B;//여 기 는 AB 에 대한 할당 을 고려 하지 않 습 니 다.
B->next=NULL;
head = A;//notice
2. 삽입
삽입 을 회상 합 시다.
// ( , )
struct node *n=new node;
tail->next=n
n->next=NULL;
tail=n;
// ( rear )
struct node *n=new node;
queue->rear->next=n;
n->next=NULL;
queue->rear=n;
//
struct node *n=new node;
n->next=stack->top;
stack->top=n;
대기 열 이 비어 있 는 지 여 부 를 판단 해 야 한 다 는 것 을 알려 줍 니 다.
위 에서 보면 먼저 링크 와 큐 의 삽입 이 놀 라 울 정도 로 비슷 하 다 는 것 을 알 수 있 습 니 다. 스 택 이 약간 다 릅 니 다. 이 유 는 이러한 데이터 구조 도 를 머 릿 속 에서 생각해 보면 알 수 있 습 니 다. 큐 와 링크 노드 는 모두 가로로 놓 여 있 고 스 택 은 세로 로 되 어 있 기 때문에 스 택 에 한 노드 를 삽입 하면 반드시 next 는 한 노드 를 가리 키 고 대열 과 링크 는 꼬리 에 삽입 되 기 때문에 next 는 NULL 을 가리 킵 니 다.
3. 삭제
다음 삭제 작업 을 고려 합 니 다:
//
struct node *temp=head;
head=head->next;
delete temp;
// ( )
struct node *temp=queue->front;
queue->front=queue->front->next;
delete temp;
// ( )
struct node *temp=stack->top;
stack->top=temp->next;
delete temp;
여러 가지 표면 에 이 세 가지 구조 간 에 약간의 관계 가 존재 한다. 만약 에 이곳 을 고려 할 수 있다 면 그것 은 잘 배 웠 다 는 것 이다. 왜냐하면 우리 과학자 들 은 그들 을 선형 구조 로 나 누 었 기 때문이다. 물론 남 은 나무 와 그림 은 비 선형 구조 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
하나의 단일 체인 테이블의 순환과 귀속 실현을 반전시키다텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.