#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef struct node
{
int data;
struct node *link;
} Node;
int
creat();
int
insertElement(Node **head,int value);
int
printlist(Node *temp);
int
getMinval(Node *temp);
int
getMaxval(Node *temp);
int
removeElement(Node **head,int value);
Node *head;
int main(void)
{
creat();
printf(" insert 47: %d\n ",insertElement(&head,47));
printf("insert :11 %d\n ",insertElement(&head,11));
printf("insert :23 %d\n ",insertElement(&head,23));
printf("insert :11 %d\n ",insertElement(&head,11));
printlist(head);
}
int creat()
{
head=(Node *)malloc(sizeof(Node));
if(!head)
{
printf("malloc head NULL");
exit(-2);
head->data=-1;
head->link=NULL;
}
}
int
insertElement(Node **head,int value)
{
Node *p;
Node *q;
Node *new_node;
p=*head;
q=NULL;
if(value<0) {value=-4;}
else
{
if(head->link=NULL) {
head->data=value;
}
else
{
while(p!=NULL&&p->data>value)
{
q=p;
p=p->link;
}
new_node=(Node *)malloc(sizeof(Node));
if(!new_node)
{
printf("malloc new_node error");
exit(-2);
}
if(p->data==value){ value=-1; }
else
{
new_node->data=value;
new_node->link=p;
if(!q)
{
*head=new_node;
}
else
{
q->link=new_node;
}
}
}
}
return(value) ;
}
这下代码应该是对的啦
我按照帅哥版主的方法做判断
也在代码上了
可是不能编译
不知道谁可以告诉我具体如何在插入函数中做判断
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
十分感谢啦