注册 登录
编程论坛 数据结构与算法

关于数据结构链表的实现问题!如何才能在一个函数里实现?

来学C语言啊 发布于 2011-09-18 17:52, 553 次点击
比如下面的这个函数,请好心的坛友们,编写一个简单的main函数实现这个函数的调用啊。
#include <stdio.h>//不带头结点的单链表的逆置
#define DATATYPE char
typedef struct node
{
    DATATYPE data;
    struct node *next;
}LINKLIST;
LINKLIST *invert(LINKLIST *head)
{
    LINKLIST *p,*q,*r;
    q=NULL;p=head;
    while(p!=NULL)
    {
        r=q;q=p;
        p=p->next;
        q->next=r;
    }
    return q;
}
1 回复
#2
来学C语言啊2011-09-18 19:53
简化一点,就是怎样给单链表的结构赋值啊,比如一个有5个节点的带头结点的单链表。能不能和其他结构那样的赋值啊,比如
struct book{name【20】;autor【20】};
struct book ar【2】={{"dalaohu","jinwan"},{"cyuyan","tanhaoqiang"}};
我知道一个比较麻烦的赋值啊,就想问问有没有简单一点的啊。
int main(void)
{
    LINKLIST *head,*L,*p,*q;
    L=(LINKLIST *)malloc(sizeof(LINKLIST));
    head=L,L->next=NULL;
    while((ch=getchar())!='$')
    {
        L=(LINKLIST *)malloc(sizeof(LINKLIST));
        L->data=ch;
        p=head;
        q=head->next;
        while(q!=NULL)
        {
            p=q;
            q=q->next;
        }
        p->next=L;
        L->next=q;
    }
1