C-双向链接的创建与遍历(15)
来源:互联网 发布:域名历史记录查询 编辑:程序博客网 时间:2024/05/01 07:43
#include <stdio.h>#include <stdlib.h>//声明一个创建链表函数,并返回头结点//利用头结点进行对链表的遍历struct Node *create_Linked(); //遍历链表函数void foreach_forward(struct Node *);void foreach_reverse(struct Node *);struct Node *pHeader=NULL;struct Node *pFooter=NULL;//定义一个结构体struct Node{int val;struct Node * pNext;struct Node * pPrevious;};int main(int argc,char *argv[]){pFooter=create_Linked();printf("-------正向遍历--------\n");foreach_forward(pHeader);printf("-------反向遍历--------\n");foreach_reverse(pFooter);return 0;}//创建一个双向链表struct Node *create_Linked(){struct Node *mLast=NULL;struct Node *mCurrent=NULL;struct Node *mPrevious=NULL;int length=5;int i = 0;for (; i < length; i++){mCurrent=(struct Node *)malloc(sizeof(struct Node));mCurrent->val=i;mCurrent->pNext=NULL;mCurrent->pPrevious=NULL;if (mPrevious!=NULL){mCurrent->pPrevious=mPrevious;mPrevious->pNext=mCurrent;}if (mCurrent->pPrevious==NULL){pHeader=mCurrent;}if (mCurrent->pNext==NULL){mLast=mCurrent;}mPrevious=mCurrent;}return mLast;}void foreach_forward(struct Node *pHeader){struct Node *temp=pHeader;int j=0;while (temp!=NULL){printf("第%d个地址的内容是%d\n",j++,temp->val);temp=temp->pNext;}}void foreach_reverse(struct Node *pFooter){struct Node *temp=pFooter;int j=0;while (temp!=NULL){printf("第%d个地址的内容是%d\n",j++,temp->val);temp=temp->pPrevious;}}
0 0
- C-双向链接的创建与遍历(15)
- C-单链表的创建与遍历(14)
- 图的创建与遍历(C++)
- 二叉树的创建与遍历(C语言实现)
- 图的邻接表创建与遍历(C语言)
- C/C++二叉树的创建与遍历
- C语言-动态链表的创建遍历与插入
- ListIterator的双向遍历
- 二叉排序树的创建与遍历
- 树的创建与遍历
- 树的创建与遍历
- 图的创建与遍历
- 单双向链表的构建与遍历
- c实现树的创建和遍历
- 【C++】二叉树的创建方法及其遍历的递归与非递归方法总结
- [C++]数据结构:链表二叉树的创建与四种遍历方式
- 图的创建以及深度与广度优先遍历C/C++
- 双向循环链表的创建,插入与删除。
- 有一天
- DAO层和Service层中访问Session
- Cubietruck开发板SPL启动分析
- 分享两个不错的博客。
- 《算法导论》笔记 第6章 总结与思考
- C-双向链接的创建与遍历(15)
- 均分纸牌
- webview使用缓存
- 苏州工行“理财欺诈门”你知道吗?
- 很有感慨。。
- 线程死锁
- c语言排序算法总结
- struts2验证码生成时的一个小问题
- NYOJ 15 括号匹配(二)