??
使用C++封装一个链表类LinkList。写出相应一个测试用例
链表需要提供
添加
修改删除
除重
合并 排序创建
销毁等接口。
不能调用库函数或者使用STL等类库
题目延伸***********逆置链表**********
LinkNode.h
#ifndef
LINKNOD...
分类:
编程语言 时间:
2014-12-07 01:24:55
阅读次数:
243
#include
#include
#include
int a[]={223, 34, 23, 2, 21, 55, 87, 533 , 213, 111};
//int a[]={2, 21, 23, 34, 55, 87, 111, 213, 223, 533};
//int a[]={533, 223, 213, 111, 87, 55, 23, 34 , 2...
分类:
编程语言 时间:
2014-12-03 15:48:07
阅读次数:
145
合并排序算法在结构上是递归的,采用分治策略:就是将原有的问题划分为 n 个规模较小但结构与原问题相似的子问题,递归地解决这些子问题,然后合并其结果,就得到原问题的解。 合并排序的模式一般如下: 1.分解:将 n 个元素分解为各含 n/2 个元素的两个序列; 2.解决:用分治排序法对两个子序...
分类:
编程语言 时间:
2014-11-25 20:13:40
阅读次数:
263
目录:
1、题目及分析
1.1 题目
1.2 分析
1、题目及分析
1.1 题目:
Sort a linked list in O(n log n)
time using constant space complexity.
1.2 分析
O(n log n)的复杂度,所以不能采用冒泡等,这里采用合并排序算法,且为了不采用递归的方式,...
分类:
其他好文 时间:
2014-11-21 16:17:51
阅读次数:
138
题目:给你两个有序序列(每个序列中元素不同),求两序列中都出现的元素个数。
分析:简单题。合并排序合并过程。
设置两个指针,指向两序列当前元素,那个元素小指针向后移动,同样大则计数加一,同时后移。
说明:简单题。(⊙_⊙)
#include
#include
#include
#include
#include
#include
using names...
分类:
其他好文 时间:
2014-11-19 11:01:24
阅读次数:
188
/**
* 书本:《算法分析与设计》
* 功能:给定线性序列集合中n个元素和一个整数k,1<=k<=n,输出者n个元素中第“k小”元素的值和位置
* 文件:lesson4.cpp
* 时间:2014年11月16日13:41:04
* 作者:cutter_point
*/
#include
using namespace std;
/*
*1、实现这个算法首先肯定是要排序
*2、排好序之后第k...
分类:
编程语言 时间:
2014-11-16 20:12:02
阅读次数:
224
题目:Mergeksorted linked lists and return it as one sorted list. Analyze and describe its complexity.思路:我的第一个想法是将lists中的链表两两合并排序,这样时间复杂度是o(n),n为所有链表中的数据...
分类:
其他好文 时间:
2014-11-16 18:31:00
阅读次数:
209
/*题目内容:
使用合并排序算法,对输入的n个数据进行按升序排序。
输入描述
分两行,第一行是整数n,第二行是n个整数,每个整数之间用空格间隔。
输出描述
按升序排序的n个整数
输入样例
8
9 8 7 6 5 4 3 2
输出样例
2 3 4 5 6 7 8 9*/
/*分析:合并排序中用到了分治,其中比较关键的两个部分是1:合并分组排序的递归2:将排序后的小数组合...
分类:
编程语言 时间:
2014-11-07 20:54:55
阅读次数:
285
摘要: 本章先回顾了前面介绍的合并排序、堆排序和快速排序的特点及运行运行时间。合并排序和堆排序在最坏情况下达到O(nlgn),而快速排序最坏情况下达到O(n^2),平均情况下达到O(nlgn),因此合并排序和堆排序是渐进最优的。这些排序在执行过程中各元素的次序基于输入元素间的比较,称这种算法为比较....
分类:
编程语言 时间:
2014-11-03 14:15:19
阅读次数:
301