#include <stdio.h>
#include <malloc.h>
typedef int element;
typedef struct DListNode {
element data;
struct DListNode *llink;
struct DListNode *rlink;
} DListNode;
int get_length(DListNode *listtype) {
int i = 0;
while (listtype->rlink != NULL) {
i++;
listtype = listtype->rlink;
}
return i;
}
void add(DListNode *new_node, element item) {
if (get_length(new_node) == 0){
new_node = (DListNode*)malloc(sizeof(DListNode));
new_node->>
new_node->llink = NULL;
new_node = new_node->rlink;
}
else {
new_node = (DListNode*)malloc(sizeof(DListNode));
new_node->>
new_node = new_node->rlink;
}
}
void display(DListNode *listtype) {
while (listtype->rlink != NULL) {
printf("%d ", listtype->data);
listtype = listtype->rlink;
}
}
int main() {
DListNode *listtype1 = NULL;
add(listtype1, 3);
add(listtype1, 5);
get_length(listtype1);
display(listtype1);
}
이거 안 돌아가던데 add()에 노드가 NULL값이 될 때까지 이동해서 그런 거죠?
노드만들떄 시작노드 끝노드 만들어서 해주는게 좋다.
ㄳ