请教一道链表题目

[复制链接]
查看11 | 回复3 | 2011-4-5 19:06:11 | 显示全部楼层 |阅读模式
CPP如下
#include
#include
#include"LinkList.h"
typedef int ElemType
int main(void)
{

LNode H,*p;
p=&H;
InitList(p);
while(getc()!='#'){
cindate;
p=p->next
}
p->next=NULL;
coutnext;
}
return i;
}
int EmptyList (LNode *H)
{
for(int i=0;inext;
}
return 1;
}
ElemType GetList (LNode *H, int pos)
{
if(posnext;
return H->date;
}

void TraverseList(LNode *H)
{
while(H!=NULL){
coutdatenext;
}
}
int InsertList ( LNode *&H, ElemType item, int pos)
{
if(posdate=item;
LNode *cp=H;
LNode *ap=NUll;
if(pos==0){
while(cp!=NULL){
if(itemdate)break;
else{

ap=cp;

cp=cp->next;
}
}
}
else if(pos==-1)
while(cp!=NULL)
{
ap=cp;cp=cp->next;
}
else{
int i=0;
while(cp!=NULL){

i++;

if(i==pos)break;

else{

ap=cp;

cp=cp->next;

}
}
if(cp==NULL&&i+1next=H;
H=newtpr;
}
else
{newptr->next=cp;
ap->next=newptr;
}
return 1;
}
int DeleteList ( LNode *&H, ElemType &item, int pos)
{
if(posdate=item;
LNode *cp=H;
LNode *ap=NUll;
if(pos==0){
while(cp!=NULL){
if(item==cp->date)break;
else{

ap=cp;

cp=cp->next;
}
}
if(cp==NULL){
coutnext!=NULL)
{
ap=cp;cp=cp->next;
}
else{
int i=0;
while(cp!=NULL){

i++;

if(i==pos)break;

else{

ap=cp;

cp=cp->next;

}
}
if(cp==NULL){

coutnext;
else ap->next=cp->next;
delete cp;
return 1;
}错误太多了 帮忙改下啊!函数依次是 初始化单链表 清除单链表 求单链表长度 判断是否为空表 遍历单链表 插 删

回复

使用道具 举报

千问 | 2011-4-5 19:06:11 | 显示全部楼层
头文件一并发了吧 不然怎么改
回复

使用道具 举报

千问 | 2011-4-5 19:06:11 | 显示全部楼层
你知不知道怎么初始化链表??? 代码写得太烂了。你的Insert里面有排序?要不我给你重写个 cpp#include#include#include"LinkList.h"int main(void){
LNode H,*p; p=&H;InitList(p);
回复

使用道具 举报

千问 | 2011-4-5 19:06:11 | 显示全部楼层
你需要重载基本的二元操作符以便你可以正确的使用它们来处理你的类(结构)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行