2015-11-08 83 views
-5

在计算机科学中,数据结构是在计算机中组织数据的一种特殊方式,因此可以有效地使用它。在TurboC++上编译时,我的程序出错了。它在theLearningpoint.net上。它有6个错误。调试它。请解释代码。数据结构编程算法

#include<stdio.h> 
#include<stdlib.h> 
typedef struct Node 
{int data; 
struct Node *next; 
struct Node *prev; 
}node; 

void insert(node *pointer, int data) 
{ while(pointer->next!=NULL) 
    {pointer=pointer->next; 
    } 
pointer->next=(node *)malloc(sizeof(node)); 
(pointer->next)->prev=pointer; 
pointer=pointer->next; 
pointer->data=data; 
pointer->next=NULL; 
} 

void delete(node*pointer,int data) 
{ while(pointer->next!=NULL && (pointer->next)->data!=data) 
    {pointer=pointer->next; 
    } 
if(pointer->next==NULL) 
{printf("Element %d not present",data); 
    return; 
} 
    node *temp; 
    temp=pointer->next; 
    pointer->next=temp->next; 
    temp->prev=pointer; 
    free(temp); 
    return; 
} 

int main() 
{node *start,*temp; 
start=(node *)malloc(sizeof(node)); 
temp=start; 
temp->next=NULL; 
temp->prev=NULL; 
printf("1.Insert"); 
printf("2.Delete"); 

while(1) 
{ int query; 
    scanf("%d",&query); 
    if(query==1) 
{int data; 
    scanf("%d",&data); 
    insert(start,data); 
} 
else if(query==2) 
{int data; 
scanf("%d",&data); 
delete(start,data); 
} 
} } 
+0

有什么问题吗?请注意,这不是一个其他人做作业的网站 –

+0

请将您的代码包含在问题中而不是链接中(如果您发布链接,请确保它们显示为链接),并描述如何编译它以及如何编译错误是。 – sepp2k

回答

0

这是因为在第38行有一个名为delete的函数,但删除是C++中的关键字,请重命名该函数!

编辑:

如指出我的评论者也可以使用正确的编译器

+1

虽然这显然是C.当然,OP可能会尝试使用C++编译器进行编译,但在这种情况下,我会说适当的解决方案是使用正确的编译器,而不是重命名该函数。 – sepp2k

+0

'删除'不起作用。 –