C++写的单链表,望指点一二
小弟才学C++不久,数据结构也是自学的,下面是我用C++编写的一个实现单链表的类,希望各位大神不吝赐教,怎么评论都好,操作系统是win xp,编译器是VS2010,(已编译通过),主函数就不贴了,都是测试的,哦对,我对new的用法不是很懂,代码中凡是使用new的地方,都是抱着试一试的态度,没想到真的通过了,
小弟虚心求教 ,
第一次发帖,有什么不对的地方,望各位海涵
}
Node* search_Index(int i){ //按照序号查找单链表中的元素
int j=0;
Node *h;
h=p;
while(h&&j!=i){
h=h->next;
j++;
}
return h;
}
void del(){ //删除单链表第一个元素
Node *h,*q;
h=p;
q=this->search_Index(1);
h->next=q->next;
delete []q;
}
void del(int i){ //重载del函数,使其删除第i个结点
Node *h,*q;
h=this->search_Index(i-1);
q=this->search_Index(i);
h->next=q->next;
delete []q;
}
void set_data(){ //从标准输入流中向单链表中输入数据
T a;
int i=1;
while(cin>>a){
this->insert(i,a);
i++;
}
cin.clear();
cin.sync();
}
};
[解决办法]
{code=C/C++} 代码要放到这里 {/code}
[解决办法]
p=new Node是生成一个新结点,p=new Node[10]是生成包含10个新结点的数组。
[解决办法]
你的代码运行正常吗?我表示怀疑。
没有指向头结点的指针,怎么搜索?
设计方式欠考虑,编程方法有缺陷,感觉写起代码来比较费劲,对面向对象的理解也不是很深入。