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

新手求写一主函数

网络think 发布于 2012-12-17 22:15, 404 次点击
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#define ERROR 0
#define OK 1
typedef struct
{
    char num[5];
    char name[9];
    char sex[3];
    char phone[13];
    char addr[31];
} DataType;
 struct node
{
    DataType data;
    struct node *next;
};
 typedef struct node *LinkList;
 typedef struct node LNode;
LinkList *init()
{  
    LinkList *head;
    head=(LinkList *)malloc(sizeof(LinkList));
    return(head);
}
int ListLength(LinkList L)
{
    LinkList p;
    int j=0;
    p=L;
    while(p->next)
    {
        p=p->next;
        j++;
    }
    return j;
}
LinkList Get_LinkList(LinkList L,int i)
{
    LinkList p;
    int j;
    j=0;
    while(p&&j<i)
    {
        p=p->next;
        ++j;
    }
        if(j==i)
            return p;
        else
            return NULL;
}
LinkList LocateName(LinkList La,char *s)
        {
            LinkList p;
            p=La;
            p=p->next;
            while(p)
            {
                if(strcmp(p->data.name,s)==0)
                {
                    printf("%s",p->data.name);
                    break;
                }
                p=p->next;
            }
            return p;
        }
    int ListInsert(LinkList L,int i,DataType e)
    {
        LinkList p,s;
        p=Get_LinkList(L,i-1);
        if(p==NULL)    return ERROR;
        s=(LinkList)malloc(sizeof(LNode));
        s->data=e;
        s->next=p->next;
        p->next=s;
        return OK;
    }
    void Create_LinkList(LinkList L)
    {
        int i,n;
        DataType e;
        printf("请输入要建立链表的结点数:");
        scanf("%d",&n);
        printf("编号[4]姓名[8]性别电话[11]地址[31]\n");
        for (i=1;i<n;i++)
        {
            scanf("%s%s%s%s%s",e.num,e.name,e.phone,e.addr);
            ListInsert(L,i,e);
        }
    }
    void pritlist(LinkList L)
    {
        LinkList p;
        p=L;
        printf("通讯录内容如下:\n");
        printf("编号[4]姓名[8]性别电话[11]地址[31]\n");
        while(p->next)
        {
            p=p->next;
            printf("%4s%8s%3s%11s%32s\n",p->data.num,p->data.name,p->data.sex,p->data.phone,p->data.addr);
        }
        printf("\n");
    }
2 回复
#2
yuccn2012-12-18 00:49
void main()
{
}
#3
wp2319572012-12-18 07:11
估计是摘抄的代码吧
1