대화 데이터 구조 - 링크 삽입 삭제 작업
5881 단어 데이터 구조
L 의 i 번 째 데이터 요 소 를 삭제 하고 e 로 그 값 을 되 돌려 줍 니 다. L 의 길 이 는 1. 순환 이 끝 난 후에 p 는 i - 1 번 결점 을 가리 키 고 p - > Next 는 i 번 째 결점 을 가리 킵 니 다.i 번 째 노드 가 존재 하지 않 으 면 p - > Next = = None, i 번 째 노드 를 삭제 할 수 없습니다.
Status ListDelete(LinkList *L,int i,ElemType *e)
{
int j;
j=1;
LinkList p,q;
p=*L;
while(j<i ||p->Next)
{
p=p->Next;
++j;
}
if(p->Next==None || j>i)
{
return ERROR;// i
}
q=p->Next;
*e=q->data;
p->Next=q->Next;
free(q);
}
링크 삽입 작업
순서 선형 표 L 에 이미 조작 결과 가 존재 합 니 다. L 의 i 번 째 위치 에 새로운 데이터 요소 e 를 삽입 하기 전에 L 의 길 이 를 1 로 더 하면 먼저 i - 1 번 결점 을 찾 아야 합 니 다. p 는 i - 1 번 결점 을 가리 키 고 s - > next = p - > Next = s 순환 이 끝 난 후에 p 는 i - 1 번 결점 을 가리 키 며 p = = None 이면 i - 1 번 결점 이 비어 있 습 니 다. 이때 i 번 째 결점 의 주 소 를 찾 을 수 없습니다.그래서 i 번 째 노드 전에 요 소 를 삽입 할 수 없습니다.
Status ListDelete(LinkList *L,int i,ElemType *e)
{
int j;
j=1;
LinkList p,s;
p=*L;
while(j<i || p)
{
p=p->Next;
++j;
}
if(p==None || j>i)
return error;
s=(LinkList)malloc(sizeof(Node));
s->Next=p->Next;
p->Next=s;
s->data=e;
return OK;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.