Data Structure/윤성우의 열혈 자료구조

문제 03 -1 리스트 라이브러리의 활용

100win10 2019. 9. 4. 20:22

문제 03 - 1


1. 리스트를 생성 및 초기화 한 다음, 정수 1부터 9 까지 리스트에 저장


2. 리스트에 저장된 값을 순차적으로 참조하여 그 합을 계산하여 출력


3. 리스트에 저장된 값들 중 2의 배수와 3의 배수에 해당하는 값을 모두 삭제.


4. 마지막으로 리스트에 저장된 데이터를 순서대로 출력



코드 ( C )

#include <stdio.h>

#include "ArrayList.h"


int main(void)

{

// ArrayList의 생성 및 초기화

List list;

int data;

int sum = 0;

ListInit(&list);


// 정수 1부터 9 까지 저장

for (int i = 1; i < 10; ++i)

LInsert(&list, i);

// 합의 계산 및 출력

if (LFirst(&list, &data)) {

sum += data;

while (LNext(&list, &data))

sum += data;

}

 

printf("1~ 9까지 합 : %d \n", sum);


if (LFirst(&list, &data)) {

if (data % 2 == 0 || data % 3 == 0)

LRemove(&list);

while (LNext(&list, &data))

{

if (data % 2 == 0 || data % 3 == 0)

LRemove(&list);

}

}


printf("남아있는 숫자들 : ");

if (LFirst(&list, &data)) {

printf("%d ", data);

while (LNext(&list, &data))

printf("%d ", data);

}


return 0;


}