所实现的单链表的结构如下图所示:
头文件:SList.h
#include
#include
using namespace std;
typedef enum{FALSE,TRUE}Status;
template
class List;
template
class ListNode
{
friend class List; //友元类可以访问该类的成员
private...
分类:
编程语言 时间:
2015-08-21 11:21:47
阅读次数:
245
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
/*
* 单链表的插入排序, 插入排序是一种稳定排序
*/
class Solution7 {
public:
ListNode* insertionSortList(ListNod...
分类:
编程语言 时间:
2015-08-02 21:38:44
阅读次数:
169
Sort a linked list in O(n log n) time using constant space complexity.分析:题目要求时间复杂度为O(nlogn),所以一开始想到的就是快速排序,但是快速排序一直AC不了,然后就想到用归并排序,没想到归并排序竟然可以。下面给出详细代码:归并排序需要做的
找到中间点
合并两个排好序的链表
递归实现归并排序
Code(c++):/**...
分类:
其他好文 时间:
2015-06-10 14:15:10
阅读次数:
102
No.147 Insertion Sorted ListSort a linked list using insertion sort.单链表排序:使用插入排序时间复杂度是排序算法的O(n^2),空间复杂度是O(1)难度:无他,把思路理顺,注意细节,并测试一下;另外头结点的巧妙应用,int最小表示方...
分类:
其他好文 时间:
2015-05-25 22:13:42
阅读次数:
119
利用快速排序,同向一前一后两个指针#ifndef LIST_H_#define LIST_H_#include #include class List {private: struct ListNode { int _value; ListNode* _next; };public: List(.....
分类:
编程语言 时间:
2015-05-04 23:58:19
阅读次数:
342
#include #include using namespace std;struct ListNode //默认为public{ int data; ListNode* next; ListNode(int x, ListNode* nextNode):data(x), nex...
分类:
编程语言 时间:
2015-04-16 21:22:35
阅读次数:
143
1.代码实现如下node* bubble(node* head, int len){ int nVal = 0; node* pCur=NULL; node* pNext=NULL; //外部循环为len for(int i=0; inext; //内部循环逐次减少 for...
分类:
编程语言 时间:
2015-04-16 06:45:27
阅读次数:
166
通过定义一个C++类封装单链表这种数据结构,
封装的方法有:
1.通过输入创建单链表;
2.获取单链表的数据元素个数;
3.打印输出单链表中各个元素;
4.搜索某个元素在单链表中的位置;
5.在某个位置之后插入一个结点;
6.在某个位置删除一个节点;
7.单链表逆置;
8.单链表是否存在回环的判定;
9.单链表的升序排序;
10.两个单链表的升序合并;
11.两个单链表的降...
分类:
编程语言 时间:
2015-03-27 22:16:02
阅读次数:
212
题目:Sort a linked list in O(n log n) time using constant space complexity.
思路:要求时间复杂度O(nlogn)
知识点:归并排序,链表找到中点的方法
存在的缺点:边界条件多考虑!!!
/**
* LeetCode Sort List Sort a linked list in O(n log n) time us...
分类:
编程语言 时间:
2015-03-16 23:14:12
阅读次数:
260
实现单链表排序 时间复杂度要求为 nlogn
由于是单链表,用快速排序无法往前面遍历(双向链表可以考虑),这里我们用到归并排序
代码如下:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(in...
分类:
其他好文 时间:
2014-12-10 22:52:35
阅读次数:
258