注册 登录
编程论坛 C++教室

求高手编写一个C++程序 编写一个链表

Only_Boby 发布于 2011-03-11 10:54, 763 次点击

要求:主文件为一个单独文件,只能在main函数中去调用小组成员所书写的函数。(即不能将各函数写在main函数所在文件中),各函数通过使用include“***.*”的方式在头文件部分声明,即使用包含命令来调用各函数。

主文件名:List.cpp,主函数格式:

#include <stdio.h>
#include “***.*”    //小组成员1书写的函数所在文件
# include “***.*”    //小组成员2书写的函数所在文件
...
include “***.*”    //小组成员n书写的函数所在文件

void main( )
{
    printf(“提示信息1”);
    ListInit( L );    //注释信息
    printf(“提示信息2”);
    ListInsert( L, e); //注释信息
    ...
    printf(“提示信息n”);
    ListDestory(L);  //注释信息
}


链表实验要求:
1、    声明结点类型 LNode
2、    编写主函数调用函数的框架
3、    各小组成员分别编写如下函数:

A. 创建链表 —— intCreateList ( Lnode **  L );      (必选函数) (分值:A+)
说明:通过用户输入数据的方式生成链表,当用户输入字符@时表示结束用户输入。L为链表的头指针。 创建链表成功时,返回1,否则返回0。

B. 结点插入函数 —— int ListInsert ( LNode* L, int i, ElemType e )        (必选函数)
(分值:A)
说明:在链表的第i个结点的前面插入一个结点,并将结点的数据域赋值为e,不成功时返回0,否则返回1。

C. 结点删除函数 —— int ListDelete ( LNode* L, int i, ElemType* e )    (必选函数)
(分值:A)
说明:删除链表的第i个结点,并将结点数据域中的值通过e返回,删除不成功时返回0,否则返回1。

D. 查找函数 —— int ListLocate ( LNode *L, ElemType e )     (可选函数)(分值:B)
说明:在链表中查找结点中数据值为e的第一个结点,并返回该结点在链表中的位置,查找不成功时返回-1。

E. 销毁函数 —— int ListDestory ( LNode** L)    (可选函数)  (分值:B+)
说明:释放链表的所有结点(含头结点),成功返回1,否则返回0。


注:1)以上函数参数中i的值的取值范围为 i>=0
        2)以上链表结构均为含有头结点的链表。

注意:因为引用类型可以在VC6.0++中实现,但在函数中不得使用C++中才有的引用类型,要使用纯C语言中的数据类型和函数。
7 回复
#2
yuccn2011-03-16 17:03
好像是老师布置作业似的
#3
bccn2502011-03-16 17:16
呵呵,同意楼上,这种事情要自己解决。
#4
pangding2011-03-16 17:37
而且还是惯常题目,好像在哪都能找到。
#5
loveminttea2011-03-16 20:55
初学者,不会额…
#6
木头lbj2011-03-19 12:13
路过了
#7
yfleee2011-03-21 15:34
我做过一次,给你发个作参考吧还要自己体会呢额
只有本站会员才能查看附件,请 登录
#8
lqsh2011-08-29 22:20
class Node
{
public:
    Node(int n=0,Node *p=NULL):data(n),next(p)
    {
    }
    int data;
    Node *next;

};
int main()
{
    int n;
    Node *p,*q=0;
    while(cin>>n,n)
    {
        p=new Node(n,q);
        q=p;

    }
    for(;p;p=p->next)
    {
        cout<<p->data<<" ";
    }
   
    cout<<endl;
    return 0;

}
1