2013-11-15 4 views
0

이중 목록 라이브러리를 구현 중입니다. 각 노드에 데이터 요소가 있습니다. 함수가 있습니다.이중 연결 목록의 노드에서 데이터 관리

listPtr을 받아 들여 첫 번째 요소와 마지막 요소를 초기화하고 데이터를 각각 1과 2로 설정하는 InitList (ListPtr)입니다. 난 노드를 추가하는 경우

지금, i는 노드의 데이터 (3)로 추가 될 수 있도록하고 만드는 것이 마지막 I 함수 삽입 (ListPtr 노드)의 경우 생각

. 이 노드는 4라고 말하면서 목록에 이미 노드가 10 개 있다고 가정합시다. 나는 네 번째 위치에 노드를 삽입하고 나머지 노드의 데이터를 마지막 +1까지 만듭니다.

내 질문은 내가 목록에 100 개의 노드가 있다면, 내가 삽입 할 때마다 데이터 관리를 할 것입니다.

전혀 완료해야합니까? 즉 데이터에 전혀 신경 쓸 필요가 없습니까? 초기 개발 과정에서 저를 도왔지만 지금은 필요하지 않은 것처럼 보입니다.

나를 당신의 생각

귀하의 질문은 조금 혼란/비 설명 솔기

typedef struct Node 
{ 
     int data; 
     node_t *next; 
     node_t *prev; 
}node_t; 


//List always begins with first and last nodes 
typedef struct List 
{ 
    node_t *first; // Pointer to first node in List 
    node_t *last; // Pointer to last node in List 

}list_t; 

답변

0

// 각 노드를 알려 주시기 바랍니다. 어떤 종류의 데이터가 있습니까? 왜 그 데이터에 숫자를 넣고 싶습니까? 내가 아는 한, 위치에 민감한 데이터를 정렬하려고합니다. 우선 나는 이중 연결 목록이 필요하다고 생각하지 않습니다. 간단한 연결 목록이 도움이 될 것입니다. 대신 동적 배열을 사용할 수도 있습니다. 그러나 실제로 링크 된 목록을 구현하려는 경우 관리하기 어려운 이중 링크 목록을 도입하여 복잡하게 만들지 않아야합니다. 데이터의 성격과 구현하고자하는 것에 대해 알려 주면 더 잘 대답 할 수 있습니다. 내게는 논리에 분명히 잘못된 것이있다.

+0

의견을 보내 주셔서 감사합니다. 네가 맞다면 node_t 구조체를 보면 int 데이터 요소가있다. 나는 각 노드가 고유 한 int 데이터를 가져야한다는 가정하에있다. 내가 데이터를 유지하고 싶었던 이유는 위치를 추적하는 것입니다. 나는 그것에 대해 신경 쓸 필요가 없을지도 모른다. 감사합니다. –

관련 문제