数据结构(一)创建并遍历列表

数据结构第一篇:创建线性列表并遍历

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3
 4 //定义列表元素结构
 5 typedef struct  Node
 6 {
 7     int name;
 8     struct Node  *_next;
 9 }PNode ;
10
11 //创建线性列表
12 PNode  *createStudnetList(){
13     int i;
14     PNode *head,*temp,*tail;
15     head=tail=NULL;
16     printf("enter 3 char\n");
17     for(i=0;i<3;i++)
18     {
19         temp=(PNode*)malloc(sizeof(PNode));
20         scanf("%d",&temp->name);
21         if(head==NULL){
22             head=tail=temp;
23         }
24         else
25         {
26             tail->_next=temp;
27             tail=temp;
28             tail->_next=NULL;
29         }
30     }
31     return head;
32 }
33
34 //遍历链表
35 void printList(PNode *m)
36 {
37     PNode *p=m;
38     printf("the list is:\n");
39     while (p->_next!=NULL)
40     {
41         printf("%d\n",p->name);
42         p=p->_next;
43     }
44     printf("%d\n",p->name);
45 }
46
47 void main(){
48     PNode *list=createStudnetList();
49     printList(list);
50     system("pause");
51 }
时间: 2024-11-08 21:36:28

数据结构(一)创建并遍历列表的相关文章

[数据结构]二叉树创建与遍历

实验报告:二叉树创建与遍历 一.问题描述 二叉树是一种实用范围很广的非线性结构,一棵非空二叉树有也只有一个根结点,每个结点最多有两个子树,我们称为左子树与右子树,当一个结点的左.右子树都是空的时,沃恩称此结点为叶子结点. 二叉树有一些很好的性质,这里不再赘述.考虑如何存储一棵树,本实验选择使用链式存储结构——二叉链表:如果事先知道需要存储的二叉树是满二叉树或者完全二叉树,则可以考虑使用顺序存储,否则将浪费大量的存储空间. 对于一棵既成的二叉树,有三种遍历方式——先序.中序与后序.可以证明,一棵形

[数据结构】【c语言】链表的创建和遍历

第一次写代码的博客,一个刚刚接触的新手,来这里主要是为了记录自己,方便自己以后浏览,也欢迎大家指正.先来个简单的,动态链表的创建和遍历. #include<stdio.h> #include<stdlib.h> #include<malloc.h> //定义链表的节点 typedef struct LNode { int data; struct LNode *next; } *LinkList; //创建链表函数 LinkList CreateList() { Lin

数据结构与算法之五 链接列表

在本章中,你将学习: 认识链接列表的特性 执行单链接列表 假定您已经编写了一个算法来产生并存储1到10,00,000之间的所有质数,然后显示它们. 您如何解决这个问题? 考虑以下使用数组来解决此问题的算法: 1.Set I = 0 2.Repeat step 3 varying N from 2 to 1000000 3.If N is a prime number a.Set A[I] = N b.I = I + 1 4.Repeat step 5 varying J from 0 to I-

图的创建和遍历(BFS/DFS)

图的表示方法主要有邻接矩阵和邻接表.其中邻接表最为常用,因此这里便以邻接表为例介绍一下图的创建及遍历方法. 创建图用到的结构有两种:顶点及弧 struct ArcNode { int vertexIndex; //该弧指向的顶点位置 struct ArcNode* next; //指向下一个弧 InfoType info; //该弧的相关信息,如权重等 }; struct Vertex { VertexType data; //顶点信息 ArcNode* firstArc; //指向第一条依附该

创建标准访问控制列表;扩展访问控制列表

实验一.创建标准访问控制列表 实验目标 实现拒绝PC 1(IP地址:192.168.1.1)对PC 3(ip:192.168.2.1)的访问 实验环境 实验步骤 在路由器上配置ip地址 结果验证 实验二.配置标准命名访问控制列表 实验目标 实现拒绝PC 1(IP地址:192.168.1.1)对PC 3(ip:192.168.2.1)的访问 实验环境 实验步骤 保存实验一的配置,对路由器进行标准命名的配置 结果验证 实验三.创建扩展访问控制列表 实验目标 实现拒绝PC 1(IP地址:192.168

NSArray与NSMutableArray 数组与可变数组的创建和遍历 复习

1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组. 2.NSArray的创建 NSArray * array = [[NSArray alloc]initWithObjects:@"one",@"two",@"three",@"four good",nil];//用对象初始化一个数组,这里是任意四个对象,不一定是字符串.//OC中的数组,不是真正的数组,这是一个链表,nil的作用正是表

C++ 创建和遍历二叉树

一个简单的创建和遍历二叉树的C++程序,二叉树的其他操作程序待更新. #include <iostream> using namespace std; struct BiTNode{ char data; struct BiTNode *lchild, *rchild;//左右孩子 }; BiTNode*T; void CreateBiTree(BiTNode* &T); void Inorder(BiTNode* &T); void PreOrderTraverse(BiTN

二叉树的创建、遍历

二叉树的创建.这里采用最简单的情况,创建完全二叉树,用数组来保存: 1 struct TreeNode 2 { 3 int val; 4 TreeNode *left, *right; 5 TreeNode(int x): val(x), left(NULL), right(NULL) {}; 6 }; 7 8 void CreatTree(TreeNode *root, int idx, int A[], int n) //root结点已分配,idx为根结点的编号 9 { 10 if(2 *

二叉树 二叉树的性质 存储结构 遍历二叉树 C实现二叉树的创建和遍历 线索二叉树

定义 二叉树(binary tree)是n(n>=0)个结点的有限集合,该集合为空集合称为空二叉树,或者有一个根结点和两棵互不相交的,分别称为树根结点的左孩子树和右孩子树组成. 二叉树的特点 每个结点最多有两棵子树,所以二叉树总没有度大于2的结点 左子树和右子树是有顺序的,次数不能任意颠倒 即使树中某结点只有一棵子树,也要区分是左子树还是右子树 特殊的二叉树 1. 斜树 所有的结点都只有左子树的二叉树称为左斜树; 所有的结点都只有右子树的二叉树称为右斜树; 这两者统称为斜树 2. 满二叉树 在一