单向链表实现以及通过栈来实现数据的打印
来源:互联网 发布:医院网站源码 编辑:程序博客网 时间:2024/06/06 06:44
程序仅供参考
链表由一个一个的节点组成: typedef struct node
{
int data;
struct node* next;
}Node,*pnode;
栈的声明:
typedef struct stack
{
int *array;
int index;
}Stack,*pstack;
1:节点的建立
pnode create_node(int data){ pnode p = (pnode)malloc(sizeof(Node)); if(p == NULL)//安全检查 { return NULL; } else { p->data = data; p->next = NULL; } return p;}2、在末尾插入节点void inset_tail(pnode *phead,int data)//实参应传指针的地址,因为一开始是没有节点的,head=NULL,插入后头节点的值需要改变;void inset_tail(pnode *phead,int data){ pnode p = *phead; if(*phead == NULL) { *phead = create_node(data); } else { while(p->next != NULL) { p = p->next; } p1 = create_node(data); p->next = p1; }}3、找到节点pnode list_find_node(pnode head,int dat){ while(head != NULL) { if(head->data == data) { return head; } else { head = head->next; } } return NULL;}4、(1)在中间插入节点pnode temp;temp = p->next;p->next = pnew;pnew->next = temp;(2)在末尾插入节点(p之后)p->next = pnew;(3)在头部插入节点(head)pnode temp = head;pnew->next = temp;head = pnew;用栈来实现数据的打印void list_print_zhan(pnode head){ pstack p = (pstack)malloc(sizeof(Stack)); p->array = malloc(20*sizeof(int)); p->index = 0; while(head != NULL) { p->array[p->index] = head->data; head = head->next; p->index++; } while(index>=0) { printf("%d ",p->array[p->index]); p->index--; }}
0 0
- 单向链表实现以及通过栈来实现数据的打印
- 通过调用函数来实现乘法表的打印
- 通过函数来实现数组的逆置以及数组的初始化,并能够打印出来
- Java中栈的实现(2)-使用单向链表以及实现
- 单向链表的Java实现,以及相关函数。
- 单向链表的实现
- 单向链表的实现
- 单向链表的实现
- 单向链表的实现
- 单向链表的实现
- 单向链表的实现
- 单向链表实现栈
- 单向循环链表的实现以及约瑟夫环的实现
- Java中队列的实现(2)-使用单向链表以及实现
- 实现单向循环链表的创建、测长、打印、插入、删除及逆置
- 单向链表实现
- 单向链表实现
- ListView通过自定义适配器来显示数据并对Item项以及子view项的控件实现监听.
- Ubuntu标签式窗口两个有用的快捷键
- linux基础知识5-Shell编程基础
- HAProxy内存池简介
- (8.1.2)网站性能测试:loadrunner的安装
- Android开发架构设计之健壮且可读的安卓架构(上篇)
- 单向链表实现以及通过栈来实现数据的打印
- ServletContext解析
- 阿里内推实习面试体会(客户端开发)
- Axis2: 使用services.xml文件发布WebService(2)
- Java设计模式——代理模式(Proxy)
- JSP简单的MVC案例
- js Image()对象onload和预加载
- Java_语法基础_浮点数 近似存储
- ANT安装与测试和简明教程