10.2-7 O(n)非递归逆转单向链表的n个元素。
来源:互联网 发布:python教程 图灵 编辑:程序博客网 时间:2024/05/19 14:53
//10.2-7 O(n)非递归逆转单向链表的n个元素。#include<stdio.h>#include<stdlib.h>typedef struct NODE{ char key;struct NODE* next;}NODE;NODE *L=NULL;void insert(NODE* p){//插入到头结点 p->next=L; L=p;}NODE* createnode(char key){ NODE*p=(NODE*)malloc(sizeof(NODE)); if(!p){ puts("memory exhausted.");exit(1); } p->key=key; return p;}void traverse(){ NODE*p; for(p=L;p;p=p->next) putchar(p->key); putchar('\n');}void inverse()//删除原来头结点的下一个结点,再插入到最前。{ if(!L) return ; NODE*still=L,*p; while(p=still->next){ still->next=p->next; p->next=L;L=p; }}int main(void){ insert(createnode('z')); insert(createnode('y')); insert(createnode('x')); insert(createnode('w')); traverse();inverse(); traverse();inverse(); traverse(); return 0;}
0 0
- 10.2-7 O(n)非递归逆转单向链表的n个元素。
- 单向链表逆转(非递归)
- 非递归求n个元素的所有子集
- 用JAVA实现:非递归算法在O(n)时间内将一个含有n个元素的单链表逆置,要求其辅助空间为常量
- 单向链表逆转(递归)
- n个元素的所有子集(递归+非递归 +不去重)
- n个元素的全排列(非递归+去重)
- 【补充】递归实现单向链表逆转
- 遍历单向链表的后N个节点
- 笔试题&面试题:设计一个复杂度为n的算法找到单向链表倒数第m个元素
- 链表逆转(递归+非递归)
- 递归和非递归逆转链表
- N*N棋盘的非递归算法
- 在O(n)时间内找出最小的k个元素
- 无序n个元素中,寻找第K大的元素 O(n)
- N个字符全排列的非递归实现
- 递归生成n个元素的所有排列方式
- 递归求n个元素的全排列
- Android底层原理之从Service_manager源码分析Android进程间通信过程
- markdown 模板
- 欢迎使用CSDN-markdown编辑器
- Hibernate学习笔记(十) — HQL查询
- repr()与str()
- 10.2-7 O(n)非递归逆转单向链表的n个元素。
- 初学Java多线程:向线程传递数据的三种方法
- 浏览器兼容问题
- LeetCode 题解(181): Summary Ranges
- 迭代器模式
- 程序的思考之一个可以检验你指针理解功力的程序
- import static和import的区别
- 【JS进阶之路】JavaScript之入门初识
- POJ 2001 Shortest Prefixes(字典树)