c语言实现通用数据结构:通用集合(HashSet)

这是在通用链表的基础上实现的集合,关于链表的实现参见:http://blog.csdn.net/swwlqw/article/details/22498833。 注意集合中只存储了指针,没有储存实际的数据。 对于新的数据类型来说,需要自定义HashCode函数和equal函数。 下面还给...

2017-06-12 12:01:31

阅读数 1273

评论数 0

c语言实现通用数据结构(一):通用链表

忽然想起来,大概在两年之前学习C语言的时候,曾经用C语言写过一些通用的数据结构。主要也就实现了链表、队列、椎、HashSet,还有HashMap。当时只是知道标准的C语言中没有这方面的类库,后来才知道有很多第三方的类似这样的类库。废话不多说,先把代码粘过来。 下面实现的是通用链表,注意链表中只存...

2017-06-12 11:59:19

阅读数 721

评论数 0

c语言实现通用数据结构:通用映射(HashMap)

这是在通用链表的基础上实现的映射,关于链表的实现参见:http://blog.csdn.net/swwlqw/article/details/22498833。 注意映射中只存储了key和value的指针,没有储存实际的数据。 对于新的key类型来说,需要自定义HashCode函数...

2017-06-12 11:41:10

阅读数 904

评论数 0

C++ STL

以下内容来源网上 经过整合而成 一、一般介绍       STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新...

2017-02-05 16:24:57

阅读数 201

评论数 0

微软100题21题(要求将其中所有的可能组合列出来)

scala版本 package ms import scala.collection.mutable.ListBuffer /** * 第21题(数组) 2010年中兴面试题 编程求解: 输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数, 使其和等于 m ,要求将...

2017-01-19 11:04:23

阅读数 377

评论数 0

微软100题第18题(求出在这个圆圈中剩下的最后一个数字)

1scala版本 package ms /** * 第18题(数组): 题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始, 每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。 当一个数字删除后,从被删除数字的下一个继续删除第m个数字。 求出在这个...

2017-01-18 15:41:21

阅读数 349

评论数 0

微软100题第16题(输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印)

1python版本 ''' Created on 2017-1-18 @author: admin ''' from _overlapped import NULL class BinaryTree: def __init__(self): self.root=self....

2017-01-18 14:14:45

阅读数 472

评论数 0

微软100题15题(输入一颗二元查找树,将该树转换为它的镜像)

1scala版本 package ms /** * 第15题(树): 题目:输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环两种方法完成树的镜像转换。 例如输入: 8 / / 6 10 // // 5 7 9 ...

2017-01-18 12:52:21

阅读数 256

评论数 0

微软100题14题(在数组中查找两个数,使得它们的和正好是输入的那个数字)

1scala版本 package ms /** * 第14题(数组): 题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。 例如输入数组1、2、4、7、11、1...

2017-01-18 11:39:41

阅读数 559

评论数 0

微软100题13题(输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针)

1python版本 ''' Created on 2017-1-18 @author: admin 第13题(链表): 题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。 链表结点定义如下: struct ListNode { int m_nKey;...

2017-01-18 10:15:26

阅读数 285

评论数 0

微软100题第11题(求二叉树中节点的最大距离)

1scala版本 package ms import scala.util.Random /** * 第11题(树) 求二叉树中节点的最大距离... 如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的, 我们姑且定义"距离"为两节点之间边的个数。 写一个程序, 求一...

2017-01-17 17:10:51

阅读数 534

评论数 0

微软100题第9题(判断整数序列是不是二元查找树的后序遍历结果)

1scala版本 package ms /** * 第9题(树) 判断整数序列是不是二元查找树的后序遍历结果 题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。 如果是返回true,否则返回false。 例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍...

2017-01-17 14:37:03

阅读数 360

评论数 0

微软100题第7题(判断俩个链表是否相交)

1python版 ''' Created on 2017-1-17 @author: admin 第7题(链表) 微软亚院之编程判断俩个链表是否相交 给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。 为了简化问题,我们假设俩个链表均不带环。 问题扩展: 1.如果链表可能有环列?...

2017-01-17 11:06:29

阅读数 357

评论数 0

微软100题第4题(在二元树中找出和为某一值的所有路径)

1scala版 package ms import scala.collection.mutable.ListBuffer import scala.collection.mutable.ListBuffer /** * 4.在二元树中找出和为某一值的所有路径(树) 题目:输入一个整数和一棵二...

2017-01-16 17:38:57

阅读数 449

评论数 0

微软100题第三题(求子数组的最大和)

1python版 ''' Created on 2017-1-16 @author: admin 3.求子数组的最大和(数组) 题目: 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。...

2017-01-16 14:38:19

阅读数 349

评论数 0

C语言结构体(Struct)

前面的教程中我们讲解了数组(Array),它是一组具有相同类型的数据的集合。但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组为字符,成绩为小数,因为数据类型不同,显然不能用一个数组来存放。 在C语言中,可以使...

2017-01-14 15:38:08

阅读数 274

评论数 0

C指针

第一章 指针的概念  指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。  要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的  类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让  我们分别说明。  先声明几个指针放着做例子:  ...

2017-01-12 16:15:53

阅读数 285

评论数 1

详解Windows下Eclipse CDT 配置C-C++ 编译环境

开发环境:Eclipse3.2、CDT3.1、MinGW5.1 1、Eclipse及CDT的安装 到Eclipse的官方网站http://www.eclipse.org上下载Eclipse。 安装CDT。CDT的全称是C/C++ DevelopmentTools,是使Eclipse能够支...

2017-01-12 13:25:22

阅读数 296

评论数 0

C语言中的多线程编程

C语言中的多线程编程 #include #define NUM 6 int main() {     void print_msg(char*);     print_msg("hello,");     print_msg("world...

2017-01-12 10:21:47

阅读数 15916

评论数 2

C语言文件读写基本操作DEMO

#include #include int main() { FILE *infile; FILE *outfile; //FILE *otherfile; char input; //char buffer[10]; int i=0; infile=fopen("d:...

2017-01-12 09:24:49

阅读数 384

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭