我已经坚持了2个月,尝试过导师和互联网。我觉得它已经恶化了很长时间,以至于我所学到的一切都是从窗户飞进垃圾桶。
我想声明一个跳过列表节点,然后使用它。我无法弄清楚如何初始化和访问我的节点数组。我认为节点将我的数组初始化为全NULL,但为什么我不能将我的节点数组index [0]设置为指向前面的节点索引[0]?
这是我的节点:
struct node
{
int number;
node **next;
node(int &number, int level)
{
next = new node*[level];
for(int i = 0; i<level;i++)
next[i] = NULL;
this->number = number;
}
};
我没有列表的结构我只是在主
中组装它
int main(){
node *head = NULL; //create the head sentinel
node *tail = NULL; //create the tail sentinel
char choice;
int number;
do{
choice = menu();
switch(choice){
case '1': cout<< "Please enter a number: ";
cin>> number;
insert(head, tail, number);
break;
然后我想将headSentinels附加到我的第一个节点。
void insertAsFirstElement(node *&head, node *&tail, int number)
{
node *temp = new node(number, 3);
temp->number = number;
head->next[0] = temp;
temp->next[0] = tail;
}
如果我能弄清楚如何使用main中的节点,那么我可以找出其余的跳过列表。有什么东西把我绑起来,这可能很容易。
我可以编译我的程序,但是当我尝试插入数字时,我会遇到分段错误。
我只是想先在数组[0]上组装一个链表,然后才开始把它作为一个实际的跳过列表