您的位置:首页 > 编程语言 > C语言/C++

C语言实现创建单链表及求长度

2014-02-27 14:38 417 查看
#include<stdio.h>

#include<stdlib.h> //malloc需要此头文件

//定义单链表结点结构体

typedef int ElemType;

typedef struct Node

{

ElemType data;

struct Node *next;

}LNode,*LinkList;

//建立一个带头结点的单链表

void Build(LinkList L)

{

int n;

LinkList p,q;

p=L;

printf("请输入n和n个数据元素:\n");

scanf("%d",&n);

while(n--)

{

q=(LinkList)malloc(sizeof(LNode));

scanf("%d",&q->data);

q->next=NULL;

p->next=q;

p=q;

}

}

//计算单链表的长度,然后输出单链表

void Listlength(LinkList L)

{

int num=0;

LinkList p;

p=L->next;

while(p)

{

num++;

printf("%3d",p->data);

p=p->next;

}

printf("\n长度为: %d\n",num);

}

//操作提示

void Tips()

{

printf("\n");

printf("按数字键选择相应操作 :\n");

printf("<1>输出单链表及其长度\n");

printf("<0>退出\n");

}

//主函数

void main()

{

int op;

LinkList L,p;

L=(LinkList)malloc(sizeof(LNode));

L->next=NULL;

L->data=-1;

Build(L);

Tips();

while(op)

{

switch(op)

{

case 1:Listlength(L);

break;

}

scanf("%d",&op);

}

}

运行截图:输入元素个数按enter 及元素后弹出操作提示窗口



**************************************单链表其他操作待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: