노드 관련 질문입니다 ㅜㅜ
베레기
질문 제목 : 노드 관련 질문입니다 ㅜㅜ크기가 증가하는 데이터에 대해서 노드를 만드는데 총 크기는 모르는 상태에서 어떻게 늘려줘야 하는지 모르겠네요;질문 내용 :먼저 데이터를 입력받고 노드를 만든 다음 다음 노드를 지정합니다(nextnode) 만약, 처음 입력받은 숫자이면 다음 노드는 null을 가리킵니다. 그리고 다음 입력받은 숫자가 들어오면 또 노드를 만들고 처음 만들어진 노드는 새로 만들어진 노드를 가리키고 새로 만들어진 노드는 null을 가리키는 알고리즘인데
총 데이터의 크기를 모르는 상태에서 계속 들어온다고 하면 노드를 어떻게 만들어줘야 할지 모르겠네요;;(배열은 사용불가라;)struct node
{
int data; /* 데이터 */
struct node* nextnode; /* 다음 노드를 가리키는 부분 */
};
struct node* createnode(int data)
{
struct node* newnode = (struct node *)malloc(sizeof(struct node)); newnode-data = data;
newnode-nextnode = null; return newnode;
}
struct node* insertnode(struct node *current, int data)
{
/* 새로운 노드를 생성한다 */
struct node* newnode = (struct node *)malloc(sizeof(struct node)); /* 새 노드에 값을 넣어준다. */
newnode-data = data;
newnode-nextnode = null; /* current 는 이제 newnode 를 가리키게 된다 */
current-nextnode = newnode; return newnode;
}
노드 관련 구조체 및 함수코드입니다;예시)
1 입력
1 -- null
2 입력
1 -- 2 -- null
데이터 입력이 끝날때까지 반복(데이터의 크기는 모르는 상태입니다.)
(크기를 받아와서 그만큼의 배열을 만들어서 사용해서도 안되는 상황입니다 ㅜㅜ)
-
세이
Node* InsertNode(Node *current, int data)
{
if (current == NULL) // 첫노드 일때만...
{
\tcurrent = (Node*)malloc(...);
current-data = data;
current-nextNode = NULL; \t
\t}\t
\telse // 현재노드일때...
\t{
\t\tcurrent-nextNode = (Node*)malloc(. -
천칭자리
Node* head = NULL; // 첫노드
Node* tail = NULL; // 현재노드
while (1)
{
...data 입력
...data 가 특정값을 입력 받으면 루프 탈출(break)
tail = InsertNode(tail, data); // 현재 노드를 항상 넘기고 더 최근 노드를 돌려받는다.
if (head == NULL) { head = tail; } // 첫노드 생성시만...
PrintNode(head); // 시작
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2694069 | unsigned 질문입니다. | 힘차 | 2025-05-07 |
2694012 | 전공 비전공자 개발자 (10) | 말글 | 2025-05-07 |
2693984 | 오버로딩이 무엇인가요? (2) | 헛매질 | 2025-05-07 |
2693956 | PlaySound재생이 안됩니다!(C에 음악넣기) | 지존 | 2025-05-06 |
2693928 | &와 *의 사용에 관한 명확한 이해 | 제나 | 2025-05-06 |
2693903 | 반복문 설명좀요 ㅠㅠ (2) | 란새 | 2025-05-06 |
2693869 | stdio.h 는 왜 쓰는건가요? (1) | 큰꽃들 | 2025-05-06 |
2693842 | 포인터 변수의 주소값끼리 더하는 것에 대해서 질문드립니다. (1) | 진솔 | 2025-05-05 |
2693811 | 소수 출력;;;; | 화이트캣 | 2025-05-05 |
2693788 | 이런 함수는 없나요? (3) | 앤드류 | 2025-05-05 |
2693758 | txt파일 불러와서 행렬로 저장 | 큰애 | 2025-05-05 |
2693727 | scanf 오류 문제!! (2) | 큰나래 | 2025-05-04 |
2693704 | 구조체 주소록 문제인데 도와주세요 (2) | 도1도캣 | 2025-05-04 |
2693676 | 열혈강의 c언어 질문입니다 | 하양이 | 2025-05-04 |
2693647 | 12.620000 을요 12.620 으로 어떻게 표현해요? (2) | 파도 | 2025-05-04 |
2693619 | 타이틀 코드.. | 단순드립 | 2025-05-03 |
2693591 | 컴파일 에러에서 질문드립니다 (3) | 게자리 | 2025-05-03 |
2693463 | 동적할당 이용시 fwrite사용을 어떻게 해야하나요..? (10) | 일본어못해요 | 2025-05-02 |
2693387 | 배열문제입니다 수정오류캡쳐했습니다 (6) | 연하얀 | 2025-05-01 |
2693356 | text 입출력 내림차순 질문입니다 ㅠ | 빛글 | 2025-05-01 |