关于最简单的数据结构问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 20:49:17
不太懂数据结构的格式。。。乱编了个。错误超级多。。希望高手修改下。。
能讲解一下 就太感谢了。。。

#include<stdio.h>

struct polynode
{ double c;
int e;
polynode *next;
};
typedef polynode *poly;
int initpoly(poly &p)
{ p=new polynode;
p->next=NULL;
return 1;
}
int insertafter(polynode *p, double c, int e)
{
if (p==NULL) return 0;
// 创建待插入的单项式结点
polynode *q = new polynode;
q->c = c;
q->e = e;
// 将新结点插入到指点结点的后面
q->next = p->next;
p->next = q;
return 1;
}
int removeafter(polynode *p)
{
if (p==NULL || p->next==NULL) return 0;
polynode *q = p->next;
p->next = p->next->next;
delete q;
return 1;
}
int outputpoly(poly q)
{
polynode *t=q;

while(t->next!==NULL)
{ c=t->c;
e

//我改好了,建议复制到编译器在看
//不过你这个错误确实很多,我看得有点吐血。
#include<stdio.h>
#include<stdlib.h>
struct polynode
{
double c;
int e;
struct polynode *next; //C语言这里要加struct
};
typedef polynode* poly;

//创建头结点
void initpoly(poly &p)
{
p=(poly)malloc(sizeof(polynode)); //C语言中用malloc 不用new
p->next=NULL;
}

int insertafter(poly p, double c, int e)
{
poly q;//你自己定义了这个类型为什么不用呢
if (p==NULL) return 0;
// 创建待插入的单项式结点
q =(poly)malloc(sizeof(polynode));
q->c = c;
q->e = e;
q->next = NULL;
// 将新结点插入到指点结点的后面
while(p->next != NULL)//让p指向最后一个结点
{
p = p->next;
}
p->next = q;//让最后一个结点指向新结点
return 1;
}

int removeafter(poly p)
{
poly q = p->next;
if (p==NULL || q==NULL) return 0;
while(q->next != NULL)//让p指向最后一个结点
{
p = p->next;