Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 확률밀도함수
- 기본행연산
- 첨가행렬
- 이변량자료
- 연속확률변수
- 통계학개론
- 행사다리꼴
- 수치형자료
- 베르누이분포
- 수학적확률
- 피어슨상관계수
- 절삭평균
- pmf
- 이항분포
- 균일분포
- 모평균
- 표본공간
- 범주형자료
- jupyter notebook
- 표본평균
- 이산형
- 사조사
- 통계학입문
- 포아송분포
- 조건부확률
- 모수
- 이산확률질량함수
- Anaconda
- 누적분포함수
- 기댓값과 분산
Archives
- Today
- Total
summ의 블로그
연결 리스트 3-2 본문
양방향 연결 리스트
양방향 연결 리스트
그전까지와는 다르게 노드들은 동시에 양쪽으로 연결되어 있다.
따라서 연결 리스트 정의는 다음과 같다.
typedef struct _node
{
Data data;
struct _node*next;
struct _node*prev;
} Node;
양방향 연결 리스트의 구현
void LInsert(List*plist, Data data)
{
Node*newNode = (Node*)malloc(sizeof(Node));
newNode->data = data;
newNode->next = plist->head;
newNode->prev = NULL;
plist->head = newNode;
(plist->numOfData)++;
}
- 데이터 조회 LPrevious(List*plist, Data*pdata)
int LPrevious(List*plist, Data*pdata)
{
if(plist->cur->prev == NULL)
return FALSE;
plist->cur = plist->cur->prev;
*pdata = plist->cur->data;
return TRUE;
}
LNext 함수 반대 방향으로 데이터를 조회한다.
따라서 prev 를 사용하여 cur을 이동시킨다.
*문제 05-2 풀어보기
더미 노드 기반의 양방향 연결 리스트 구현
'자료구조' 카테고리의 다른 글
연결 리스트 3-1 (0) | 2023.09.13 |
---|---|
연결 리스트 2-3 (0) | 2023.09.12 |
연결 리스트 2-2 (0) | 2023.09.12 |
연결 리스트 2-1 (0) | 2023.09.11 |
연결 리스트 1 (0) | 2023.09.11 |