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 |
Tags
- 모평균
- 이변량자료
- 사조사
- 확률밀도함수
- 수학적확률
- 첨가행렬
- 표본평균
- 행사다리꼴
- jupyter notebook
- 범주형자료
- 베르누이분포
- 통계학입문
- 이산형
- Anaconda
- 누적분포함수
- pmf
- 표본공간
- 연속확률변수
- 이산확률질량함수
- 모수
- 기본행연산
- 포아송분포
- 조건부확률
- 통계학개론
- 기댓값과 분산
- 절삭평균
- 균일분포
- 피어슨상관계수
- 수치형자료
- 이항분포
Archives
- Today
- Total
Syeonny의 블로그
연결 리스트 2-3 본문
정렬
연결 리스트에서의 정렬
연결 리스트에서 정렬 기준의 설정과 관련된 부분은 다음과 같다.
정렬 ADT
void SetSortRule(List * plist, int (*comp) (LData d1, LData d2));
void SetSortRule(List * plist, int (*comp) (LData d1, LData d2))
{
plist->comp=comp;
}
SetSortRule 함수는 리스트의 멤버 comp를 초기화하며, SInsert 함수에서 comp에 등록된 정렬의 기준을 근거로 데이터를 정렬하여 저장한다.
while(pred->next != NULL && plist->comp(data, pred->next->data) != 0)
{
pred = pred->next;
}
반복문을 사용해서 pred 다음의 노드가 NULL값이 아니고 두 노드의 우선순위를 비교하여 d2노드가 정렬 순서상 앞서거나 같다면 pred 는 다음 노드로 넘어가게 한다.
정렬의 기준을 설정하기 위한 함수
SetSortRule 함수의 인자가 될 수 있는 함수를 정의하는 것이다.
두 개의 인자가 필요하고, 첫번째 인자의 정렬 우선순위 (오름차순) 가 높다면 0을, 그렇지 않으면 1을 반환한다.
int WhoIsPrecede(int d1, int d2)
{
if(d1 < d2)
return 0;
else
return 1;
}
'자료구조' 카테고리의 다른 글
연결 리스트 3-2 (0) | 2023.09.13 |
---|---|
연결 리스트 3-1 (0) | 2023.09.13 |
연결 리스트 2-2 (0) | 2023.09.12 |
연결 리스트 2-1 (0) | 2023.09.11 |
연결 리스트 1 (0) | 2023.09.11 |