数据结构编程算法

时间:2015-11-08 13:47:26

标签: c

在计算机科学中,数据结构是在计算机中组织数据的特定方式,以便可以有效地使用它。在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);
}
} }

1 个答案:

答案 0 :(得分:0)

那是因为第38行有一个名为delete的函数,但delete是c ++中的关键字,重命名该函数!

编辑:

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

相关问题