링크: C 언어 설명
정의.
데 이 터 를 포함 한 독립 된 데이터 구조의 집합 이다.링크 의 모든 노드 는 체인 이나 지침 을 통 해 연결 되 어 있다.프로그램 은 포인터 로 링크 의 노드 를 방문 합 니 다.
싱글 체인 리스트
각 노드 는 다음 노드 를 가리 키 는 지침 을 포함 하고 링크 의 마지막 노드 의 지침 필드 의 값 은 NULL 이 며 링크 를 제시 한 후에 다른 노드 가 없습니다.
typedef struct NODE{
struct NODE *link;
int value;
}Node;
싱글 체인 시트 삽입
새 노드 를 질서 있 는 단일 체인 시트 에 삽입 합 니 다.
#define FALSE 0
#define TRUE 1
int sll_insert(Node **linkp,int new_value){
Node *current;
Mode *new;
// :
while((current = *linkp) != NULL && current->value < new_value)
linkp = ¤t -> link;
//
new = (Node *)malloc(sizeof(Node));
// false
if(new == NULL)
return FALSE;
//
new->value = new_value;
new->link = current;
return TRUE;
}
더 블 링크
모든 노드 는 두 개의 지침 을 포함한다. 앞의 노드 를 가리 키 는 지침 과 뒤의 노드 를 가리 키 는 지침 이다.
typedef struct NODE{
struct NODE *fwd;
struct NODE *bwd;
int value;
}Node;
루트 노드
더 블 링크 삽입
삽입 값 이 링크 에 존재 하지 않 을 때 삽입 하 는 삽입 함 수 를 만 듭 니 다.
노드 를 링크 에 삽입 하면 발생 할 수 있 는 네 가지 상황
int dll_insert(Node *rootp,int value){
Node *this;
Node *next;
Node *new;
for(this = rootp;(next = this->fwd) != NULL;this = next){
if(next->value == value)
return 0;
if(next->value>value)
break;
}
new = (Node *)malloc(sizeof(node));
if(new == NULL)
return -1;
new->value = value;
newnode->fwd = next;
this->fwd = new;
if(this != rootp)
new->bwd = this;
else
new->bwd = NULL;
if(next != NULL)
next->bwd = new;
else
rootp->bwd - new;
return 1;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.