目测InsertNode_End的第二个if中==写成=了。
下次提问请帖出代码(用"代码片"格式化)。这样才好帮你调试。
// Q755014.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
typedef struct Dlist
{
Dlist* p_Prev;
int data;
Dlist* p_Next;
}Dlist;
void Initialization(int data, Dlist ** list)
{
Dlist * p = new Dlist;
p->data = data;
p->p_Next = NULL;
p->p_Prev = NULL;
*list = p;
}
void InsertNode_head(int data, Dlist ** list)
{
Dlist * p = new Dlist;
p->data = data;
p->p_Next = *list;
p->p_Prev = NULL;
*list = p;
}
void InsertNode_end(int data,Dlist*list)
{
while (list->p_Next != NULL)
{
list = list->p_Next;
}
Dlist * p = new Dlist;
p->data = data;
p->p_Next = NULL;
p->p_Prev = list;
list->p_Next = p;
}
void print(Dlist*list)
{
while (list != NULL)
{
cout << list->data << " ";
list = list->p_Next;
}
}
int main()
{
Dlist* list = new Dlist;
Initialization(1, &list);
InsertNode_head(2, &list);
InsertNode_head(4, &list);
InsertNode_end(4, list);
print(list);
getchar();
}