데이터 구조의 단일 체인 시트 (1)
typedef struct LNode
{
int data;
struct LNode *next;
}LNode, *LinkList;
2. 기본 조작
1. 초기 화
//
int InitList(LNode *&L)
{
L = (LNode *)malloc(sizeof(LNode));
if (NULL == L)
{
printf("Memory allocate failed
");
return 0;
}
L->next = NULL;
//L->data = 0;
return 1;
}
2. 싱글 체인 리스트 폐기
void DestoryList(LNode *&L)
{
//LNode *p;
//while(L)
//{
// p = L;
// L = L->next;
// free(p);
//}
LNode*p, *q;
p = L;
while(NULL != p)
{
q = p->next;
free(p);
p = q;
}
L = NULL;
}
3. 단일 체인 시 계 를 빈 시계 로 설정 합 니 다.
void ClearList(LNode *&L)
{
DestoryList(L->next);
//LNode *p, *q;
//p = L->next;
//while (p)
//{
// q = p->next;
// free(p);
// p = q;
//}
L->next = NULL;
}
4. 지정 한 위치 에 요소 삽입
// L i e
//1<= i <=( +1)
int ListInsert(LNode *&L, int i, int e)
{
LNode *p, *s;
// i-1
p= L;
int j = 1;
while(p && j < i )
{
p = p->next;
j++;
}
if (!p || j > i)//i<1 or i>( +1)
return 0;
s = (LNode*)malloc(sizeof(LNode));
s->data = e;
s->next = p->next;//
p->next = s;
return 1;
}
5. 지정 한 위치 에서 요소 삭제
// L , i , e
//1<=i<=
int ListDelete(LNode *&L, int i, int &e)
{
LNode *p, *q;
// i , p
p= L;
int j = 1;
while(p->next && j < i)
{
p = p->next;
j++;
}
if(!(p->next) || j > i)
return 0;//
q = p->next;//
e = q->data;
p->next = q->next;
free(q);
return 1;
}
6. 단일 체인 테이블 i 번 째 노드 의 값 가 져 오기
int GetElem(LNode*L, int i, int &e)
{
LNode *p = L->next;//p
int j = 1;
while(p && j < i)
{
p = p->next;
j++;
}
if(!p || j > i)
return 0;
e = p->data;
return 1;
}
7. 값 영역 이 e 인 노드 가 단일 체인 표 에 있 는 위 치 를 찾 습 니 다.
int LocateElem(LNode*L, int e)
{
LNode *p = L->next;
int i = 0;
while(p)
{
i++;
if(p->data == e)
return i;
p = p->next;
}
return 0;
}
8. 싱글 체인 시트 옮 겨 다 니 기
void ListTraverse(LNode*L)
{
LNode*p = L->next;
while(p)
{
printf("->%d", p->data);
p = p->next;
}
putchar('
');
}
9. 단일 체인 시트 의 길 이 를 가 져 옵 니 다.
int ListLength(LNode *L)
{
int i = 0;
LNode *p = L->next;//
while(p)
{
i++;
p = p->next;
}
return i;
}
다음 편: 데이터 구조의 단일 체인 표 (2)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.