您的位置:逆风者 数据结构 正文
原作者:www.upwinder.com 添加时间:2007-09-02 原文发表:2007-08-31 人气:240 来源:本站原创

原帖及讨论:http://bbs.bc-cn.net/dispbbs.asp?boardid=179&id=130712

#include<stdio.h>
#include<malloc.h>

逆@风@者

typedef struct List_Node{
int info;
struct List_Node *next;
}node;//结点结构体

/******************************/
/* 尾插法建立带头结点的单链表 */
/******************************/
node* Creat_Node()
{
node *head,*pre,*p;
int x;
head=(node*)malloc(sizeof(node));;
head->next=NULL;
pre=head;
printf("输入各结点的值,以0结束:");
while(EOF!=(scanf("%d",&x))&&x!=0)
{
p=(node*)malloc(sizeof(node));
p->info=x;
p->next=pre->next;
pre->next=p;
pre=pre->next;
}
return head;
}

/******************************/
/* 头插法建立带头结点的单链表 */
/******************************/
node* Build_Node()
{
node *head,*p;
int x;
head=(node*)malloc(sizeof(node));;
head->next=NULL;
printf("输入各结点的值,以0结束:");
while(EOF!=(scanf("%d",&x))&&x!=0)
{
p=(node*)malloc(sizeof(node));
p->info=x;
p->next=head->next;
head->next=p;
}
return head;
}


/******************************/
/* 打印单链表 */
/******************************/

void Print_Node(node *head)
{
node *p=head->next;
printf("输出该链表:");
while(p)
{
printf("%-5d--->",p->info);
p=p->next;
}
if(p==NULL)
{
printf("^\n\n\n");
}
}

#include"Head_Node.h"

int Count_Node(node *head)
{
node *p=head->next;
int num=0;
while(p!=NULL)
{
num ;
p=p->next;
}
return num;
}

int main()
{
node *head;
head=Creat_Node();
Print_Node(head);
printf("结点个数为:%d\n",Count_Node(head));
return 0;
}

[1][2][3][4][5]下一页

相关文章

关于文件管理系统的数据结构模拟
数据结构教程 第二十课 广义表
数据结构教程 第三十六课 选择排序,归并排
线索二叉树算法
数据结构--序言
数据结构教程 第十课 栈的表示与实现
数据结构教程 第二十六课 图的定义与术语
排序及查找方法
数据结构教程 第十六课 串操作应用举例
数据结构教程 第三十二课 哈希表(一)
用栈设置密码
数据结构教程 第三十课 静态查找表(二)有
有向图转换
JAVA编写的拼图游戏移动算法,简单易懂
数据结构教程 第四十课 总复习
无向图转换
简单的行编辑器
数据结构教程 第五课 线性表的类型定义
Huffman编码生成程序
数据结构教程 第二十五课 单元测验

相关评论


本文章所属分类:首页 数据结构

  热门关键字: