#define DATATYPE1 char //什么意思啊?宏定义吗?
#include<iostream.h>
#include<stdlib.h>
typedef struct node //好像定义数据域什么的是把?那几个是关键字啊?
{DATATYPE1 data; //什么意思啊?DATATYPE1定义data?
struct node *next; //什么意思啊?
}NODE; //什么意思啊?是不是取别名啊?
void ifinsert(char x,char a,NODE *h)
{
NODE *p,*q;
p=h->next;
q=(NODE *)malloc(sizeof(NODE)); //能不能用NEW啊?
q->data=0; q->next=NULL;
while(p->data!=a&&p->next!=NULL)
{
p=p->next;
}
if(p->data==a)
{
q->next=p->next;
p->next=q;
q->data=x;
}
else
{
p->next=q;
q->data=x;
q->next=NULL;
}
}
NODE *create(int n) //NODE什么意思啊?
{
NODE *head,*p,*q;
int i;
p=(NODE *)malloc(sizeof(NODE));
p->data=0; p->next=NULL;
head=p;
for (i=1;i<=n;i++)
{q=(NODE*) malloc(sizeof(NODE));
cin>>q->data;
q->next=NULL; p->next=q;p=p->next; }
return(head);
}
void main()
{
int n;
DATATYPE1 x,a;
NODE *h,*p;
cout<<"\nenter n:";
cin>>n;
h=create(n);
p=h->next;
cout<<"插入a结点前链表中结点为:"<<endl;
while(p!=NULL)
{
cout<<p->data;
p=p->next;
}
cout<<"\n输入x的值和a值:";
cin>>x>>a;
ifinsert(x,a,h);
cout<<"插入a结点后链表中结点为:"<<endl;
p=h->next;
while(p!=NULL)
{
cout<<p->data;
p=p->next;
}
cout<<endl;
}
能详细解就好啦,希望大家帮帮忙,我刚学C