엄 울 민 데이터 구조 학습: 제3 회
( )
:
1. " "
2. " "
3. , " "
4. , " "
2.1
:
1. { } InitList(&L)
: L
2. { } DestroyList(&L)
: L ;
: L
3. { } :
ListEmpty(L)
: L
: L , TRUE, FALSE
ListLength(L)
: L
: L
PriorElem(L, cur_e, &pre_e)
: L
: cur_e L , , pre_e , , pre_e
NextElem(L, cur_e, &next_e)
: L
: cur_e L , , next_e , , next_e
GetElem(L, i, &e)
: L , 1 <= i <= LengthList(L)
: e L i
LocateElem(L, e, compare())
: L , compare()
: L e compare() . , 0
ListTravese(L, visit())
: L
: L visit(). visit() ,
4. { }
ClearList(&L)
: L
: L
PutElem(L, i, &e) i
: L , 1 <= i <= LengthList(L)
: L i e
ListInsert(&L, i, e)
: L , 1 <= i <= LengthList(L) + 1
: L i e, L 1
ListDelete(&L, i, &e)
: L
: L i , e , L 1
,
: A, B
:
void union(List &La, List Lb)
{
La_len = ListLength(La);
Lb_len = ListLength(Lb);
for (i = 1; i <= Lb_len; i++)
{
// Lb i e
GetElem(Lb, i, e);
//La e ,
if (!LocateElem(La, e, equal()))
{
ListInsert(La, ++La_len, e);
}
}
}
: B
:
void purge(List &La, List Lb)
{
// Lb B
// La, La Lb
InitList(La);// La
La_len = ListLength(La);
Lb_Len = ListLength(Lb);
for (i = 1; i <= Lb_len; i++)
{
// i
GetElem(Lb, i, e);
// a ,
if (!LocateElem(La, e, equal()))
{
++La_len;
ListInsert(La, La_len, e);
}
}
}
Lb , :
void purge(List &La, List Lb)
{
// Lb B
// La, La Lb
InitList(La);// La
La_len = ListLength(La);
Lb_Len = ListLength(Lb);
for (i = 1; i <= Lb_len; i++)
{
// i
GetElem(Lb, i, e);
// a
if (ListEmpty(La) || !equal(en, e))
{
ListInsert(La, ++La_len, e);
en = e;
}
}
}// n
: " " La Lb, Lc
1. La Lb ai bj;
2. ai<=bj, ai Lc , bj Lc
:
void MergeList(List La, List Lb, List &Lc)
{
InitList(Lc);
i = j = 1; k = 0;
La_len = ListLength(La);
Lb_len = ListLength(Lb);
while ((i <= La_len) && (j <= Lb_len))// , List , ,
{
//La Lb
GetElem(La, i, ai);
GetElem(Lb, j, bj);
if (ai <= bj)
{
ListInsert(Lc, ++k, ai);
++i;
} else {
ListInsert(Lc, ++k, bj);
++j;
}
}
while (i <= La_len)// ,
{
GetElem(La, i++, ai);
ListInsert(Lc, ++k, ai);
}
while (j <= Lb_len)
{
GetElem(Lb, j++, bj);
ListInsert(Lc, ++k, bj);
}
}
2.2 -
, ,
C :
#define LIST_INIT_SIZE 80 //
#define LISTINCREMENT 10 //
typedef struct
{
ElemType *elem; //
int length; //
int listsize; // ( sizeof(ElemType)
}SqList; //
, ,
, ...
, , ,
, ... ... ... , , OK
, , ...
, ...
C ,
... ... ...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.