题目:
有以ha为头结点的链表,元素个数为m;以hb为头结点的链表,元素个数为n。现在需要你把这两个链表连接起来,并使时间复杂度最小,请分析并实现。
思路:
很简单的链表操作的题目,逆序头部插入,并将长度较长的一方接到较短的后面,时间复杂度为O(min(m,n))。
#include
#include
#include
using namespace std;
typedef int...
分类:
其他好文 时间:
2016-04-04 16:39:50
阅读次数:
168
数据结构这东西,理解起来不算难,但是实现难度就不小了,虽然思路很清晰,但不知道从何下手还有语言的细节问题一直是阻碍初学者的主要障碍(比如我)。今天用了一下午时间终于独立完成了链表操作。 找网上的代码,大多用了结构体,还有些并不适合刚学c++或者数据结构的人看,于是我是用类写的,代码比较符合学生的习惯 ...
分类:
编程语言 时间:
2016-04-02 19:00:59
阅读次数:
189
题目:输入一个链表,反转链表后,输出链表的所有元素。 思路:这个题目是一个很经典的链表操作题目,涉及很多链表指针操作,考验代码功底。因为是单向链表,如果按照最普通的思路来解和求链表中的倒数第k个节点一样,会有许多不必要的遍历。那么就需要在指针操作上想办法。下面是一个比较好的解决思路: 首先需要设置4
分类:
其他好文 时间:
2016-03-19 16:06:16
阅读次数:
226
第24题: 链表操作, (1).单链表就地逆置, (2)合并链表
分类:
编程语言 时间:
2016-03-13 15:58:04
阅读次数:
164
#include<stdio.h>#include<malloc.h>#include<conio.h>#include<stdlib.h>#include "math.h"#define NULL 0#define LEN sizeof(struct cle) struct cle { int n
分类:
编程语言 时间:
2016-03-11 11:37:16
阅读次数:
226
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 typedef struct node 5 { 6 int data; 7 node* next; 8 } Node; 9 10 Node* head = null; 11 12 //创建链表 13 bool
分类:
其他好文 时间:
2016-03-09 15:54:44
阅读次数:
250
链表的构建其实也就是不断插入节点的过程。而节点的插入可以分为头插法和尾插法。头插法就是在头结点后插入该节点,始终把该节点作为第一个节点。尾插法就是在链表的最后一个节点处插入元素,作为最后一个节点。如果想要了解链表的概念和其他链表操作,请参考《数据结构与算法之链表》《C语言实现链表的基本操作》两篇文章。示例代码上传至 https://github.com/chenyufeng1991/HeadIn...
分类:
其他好文 时间:
2016-02-25 13:55:51
阅读次数:
175
双链表: 1 2 3 4 5 6 7 8 9 10 11 12 1 3 5 7 9 11 12 10 8 6 4 2 1。设计节点 typedef int datatyped typeddef struct node { typedata data; struct node * next; stru
分类:
其他好文 时间:
2016-02-20 16:06:07
阅读次数:
222