Skip to content

LeeHyKu/CVector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CVECTOR

Portfolio, Dynamic List, C99 "CVector"
c언어 공부용으로 만든 동적 리스트 구조입니다.

GPL-v3.0 혹은 그 이후 버전으로 배포됩니다.

DOCS

src/vector.h

vector* vcalloc()

새로운 vector를 생성하고 반환합니다
malloc에 실패했다면 NULL을 반환합니다.

void vcfree(vector* vc)

vc를 삭제합니다

void vcresz(vector* vc, int siz)

vc의 크기를 siz로 설정합니다

void *vcpush(vector* vc, void* obj)

vcobj를 추가합니다.
이 작업은 vc의 사이즈를 1 증가시킵니다.
obj는 포인터 변수이거나 src/env.h가 선언하는 PTRSIZ보다 작거나 같아야 합니다.

void *vcpop(vector* vc)

vc의 맨 뒤에 있는 오브젝트를 삭제하고 반환합니다.
이 작업은 vc의 사이즈를 1 감소시킵니다.

void *vcsift(vector* vc)

vc의 맨 앞에 있는 오브젝트를 삭제하고 반환합니다.
이 작업은 i > 0인 모든 오브젝트의 인덱스를 1씩 감소시키고, vc의 사이즈를 1 감소시킵니다.

void vcusft(vector* vc, void* obj)

vc의 맨 앞에 obj를 추가합니다.
이 작업은 i > 0인 모든 오브젝트의 인덱스를 1씩 증가시키고, vc의 사이즈를 1 증가시킵니다.
obj는 포인터 변수이거나 src/env.h가 선언하는 PTRSIZ보다 작거나 같아야 합니다.

void *vcrmov(vector* vc, void* obj, int idx)

vcidx에 있는 오브젝트를 삭제하고 반환합니다.
이 작업은 i > idx인 모든 오브젝트의 인덱스를 1씩 감소시키고, vc의 사이즈를 1 감소시킵니다.

void vcisrt(vector* vc, void* obj, int idx)

vcidxobj를 삽1입합니다.
이 작업은 i >= idx인 모든 오브젝트의 인덱스를 1씩 증가시키고, vc의 사이즈를 1 증가시킵니다.
obj는 포인터 변수이거나 src/env.h가 선언하는 PTRSIZ보다 작거나 같아야 합니다.

void vcidxo(vector* vc, void* obj)

vc에 있는 오브젝트중 obj와 일치하는 오브젝트들중 첫번째 인덱스를 반환합니다.
일치하는게 없다면 -1을 반환합니다
obj는 포인터 변수이거나 src/env.h가 선언하는 PTRSIZ보다 작거나 같아야 합니다.

void vcadds(vector* zu, vector* von)

zuvon에 있는 모든 오브젝트를 추가시킵니다.
이 작업은 zu의 사이즈를 von의 사이즈만큼 증가시킵니다.

vector *vccmpr(vector* ein, vector* zwi)

einzwi를 합친 새 vector를 반환합니다.

About

Portfolio, Vector, C99

Topics

Resources

License

Stars

Watchers

Forks

Languages