02ds_alg
halazi100
勤勉务实、守正创新
展开
-
C++使用string函数及vector封装一个split及join函数
C++使用string函数及vector封装一个split函数使用find函数及substr来将字符串根据分隔符分割之后输出到一个vector中,类似于python的split函数/***************************************** * Copyright (C) 2020 * Ltd. All rights reserved. * File name...原创 2020-03-13 23:01:08 · 4752 阅读 · 0 评论 -
C++使用stringstream实现字符串与数值类型互相转换
C++11中已经提供了一些用户string与int,float等类型的转换函数,如stoi,stol等;我们还可以使用stringstream类来实现转换;示例如下该方法实现了两个模版函数,需要将数值类型传递给模板函数如stringToNumber<int>(xxx),stringToNumber<double>(xxxx);等/************...原创 2020-03-24 09:11:17 · 648 阅读 · 0 评论 -
C语言写五子棋练习
::::::::::::::chess/readme::::::::::::::This is a wuziqi game could be run under Linux OS terminal;please use "make" command in the directory of Makefile first of all, then the function named原创 2016-07-14 00:19:20 · 896 阅读 · 0 评论 -
数据结构与算法-链表
链表 包含一个线性链式存储结构和一组相关的操作函数; 链表的基本功能包括:插入/删除和遍历;/* * 04linklist.h */#ifndef __04LINKLIST_H__#define __04LIKKLIST_H__typedef struct node{ int num; struct node *p_next;}原创 2015-08-24 19:15:08 · 294 阅读 · 0 评论 -
数据结构与算法-二叉树
二叉树树也是一种链式存储结构,从树中的每个节点可以走到另外多个节点;如果树中的所有节点都最多只能走到另外两个节点则这个树叫二叉树;所有的树都可以转换成二叉树;所有树都从一个起点节点开始,这个起点节点叫做根节点;通常使用一个记录根节点地址的指针记录整棵树,这个指针叫根指针;原创 2015-08-24 19:16:09 · 294 阅读 · 0 评论 -
数据结构与算法-队列
队列 采用先进先出的方式管理数据; 基本操作:push,pop 放置数字和取数字是在两个不同的端点实现的; 采用顺序存储结构实现队列时需要记录两个端点的位置;/* * 02queue.h */#ifndef __02QUEUE_H__#define __02QUEUE_H__void init();void deinit();原创 2015-08-24 19:14:25 · 318 阅读 · 0 评论 -
数据结构与算法基础1
数据结构逻辑结构物理结构栈数据结构是对数据类型(存储方式)和数据之间相互关系的描述;算法是对操作步骤的描述;数据结构研究如何使用内存中的多个存储位置记录多个相关数据以及如何使用这些数据;算法研究一些通用问题的解决方法和步骤(算法通常需要依赖某种数据结构); 数据结构重点关注数据之间的关系; 数据的逻辑结构描述了人对数据之间关系的看法和认识,这个结构和原创 2015-08-24 19:13:03 · 398 阅读 · 0 评论 -
数据结构与算法-冒泡排序
算法 广义的说,为解决一个问题而采取的操作方法和操作步骤,就称为算法;计算机算法可分为两大类别 1-> 数据运算算法 2-> 非数值运算算法;在写程序之前,必须想清楚做什么和怎么做; 做什么是任务; 怎么做包括两方面的内容 一是要做哪些事情才能达到解决问题的目的; 二是要决定做这些事情的先后次原创 2015-08-24 19:17:49 · 377 阅读 · 0 评论 -
数据结构与算法-大数据排序
练习1; 0-1999的随机数1000个,已知无重复,求最快排序算法; 答案: 利用数组下标; 1-> 定义一个长度是2000的数组arr,清0; 2-> 遍历1000个随机数,arr[随机数] = 1; 3-> 打印值是1的数组下标就ok; 练习2: 一个文件中包含n个正整数,其中n=1原创 2015-08-24 19:27:15 · 567 阅读 · 0 评论 -
数据结构与算法-选择排序
选择排序(按个子高低排座位) 模拟人的思维方式; 每次选定一个位置,用这个位置上的数字和所有其他位置上的数字比较并调整顺序; 然后换一个位置重复上面的操作直到所有数字的顺序都调整好; 采用双重循环实现; 外层循环的循环变量从第一个位置到倒数第二个位置,内层循环的循环变量从外循环的变量+1到最后一个位置;内循环内部对两个循环变量对应位置的数字进行处理原创 2015-08-24 19:18:31 · 324 阅读 · 0 评论 -
数据结构与算法-归并排序
归并排序 假设所有数字分成前后两组,每组都是已经排好序的;则归并排序可以把他们合并成一个新的数字序列; 思路 使用递归调用对前后两组分别进行排序; 将两个有序的序列合并为一组有序的序列; 首先考虑下如何将将二个有序数列合并;这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数;然后再进行比较,如果有数列为空,那直接将另原创 2015-08-24 19:22:23 · 443 阅读 · 0 评论 -
数据结构与算法-快速排序
快速排序 重点+难点 每次选一个基准数字放在合适的位置上同时把所有数字分成两组,其中一组中的数字都比基准数字小,另一组中的数字都比基准数字大; 基准数字通常选未处理数字中的第一个数字,一趟排序后得到基准数字和左右两边的两组数字,其中一组都比基准数字小,另一组都比基准数字大,然后使用递归处理这两组数字; 每次要保证把所有未处理过的数字包括在基准数字和下一个要处原创 2015-08-24 19:21:17 · 305 阅读 · 0 评论 -
数据结构与算法-插入排序
插入排序(打麻将起牌时把后来的放到合适位置) 每次把一个位置上的数据插入到前边已排好的数字中某个合适的位置上形成一个新的已排序的数字序列; 重复这个操作直到所有数字都插入进去为止; 采用双重循环实现; 外循环的循环变量从第二个位置开始到最后一个位置为止,内循环的循环变量从外循环变量-1开始到0为止;在内循环中对内循环变量和它后面的变量中的数字进行顺序调整;原创 2015-08-24 19:19:28 · 366 阅读 · 0 评论 -
二叉树:已知前序中序求后序结果的问题
这个题有多经典完全不用质疑了,在2010年悲惨的腾讯暑假实习生笔试中就再次出现。要说这个题,我在一年前都见过多次,但是由于忽视了,还是没有思考具体如何做。敲了这么多代码,也没有去纠结数据结构的问题,结果,笔试时还是不会。找实习找工作,其实在某种程度上就是个考试。考试的概念是:有用的不一定考,没用的很可能涉及。敲了不少代码也不一定能对笔试很有信心,应该说完全没信心。所以,必要的集中准备是很有用的。进转载 2015-07-04 14:57:17 · 517 阅读 · 0 评论