![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
FromNowOnUntilTheEnd
每日记录
展开
-
数据结构--线性表详解(一)
1、前言 线性表是最常用且是最简单的一种数据结构。形如:A1、A2、A3….An这样含有有限的数据序列,我们就称之为线性表。2、线性表的两种表示形式顺序表示(其实就是数组)链表表示3、线性表一般操作的介绍 线性表一般包含如下几种操作:线性表的操作包括如下几种 (1) InitList(& L) //构造一个空的线性表 (2) DestroyList(& L...转载 2018-02-23 17:48:07 · 225 阅读 · 0 评论 -
一个类实例轻松了解多态
先说重点,不理解的就先大概看一遍过,把之后的例子理解了,这些自然也懂了结论1:当超(父)类对象的引用变量 引用子类对象时,被引用对象的类型决定了调用谁的 成员方法,这个被调用的方法必须是在超类中定义过的,即被子类重载或者重写的方法。判断题:在java的多态调用中,new的是哪一个类就是调用的哪个类的方法。( X )如果是重写进行的多态调用,运用的就是动态单分配,是根据new的类型确定对...原创 2018-09-11 11:58:50 · 200 阅读 · 0 评论 -
C++:最大回文字符串
方法一://最长回文子串 #include <iostream> using namespace std; //*s为字符串,n为字符串的长度 int LagPalindrome(char *str, int n) { int count = 0; int max = 0;//最长回文子串的长度 if (str == ...转载 2018-04-25 20:34:45 · 1357 阅读 · 0 评论 -
C++:求两个字符串的最大公有子串和字符串逆序
#include "iostream"using namespace std;#include<cassert>#include <string>//找出两个字符串中最长的公共子串(如果存在多个 , 返回第一个)//参数:str1 字符串1// str2 字符串2// maxSubStr 找到的最大子串void findMaxS...转载 2018-04-25 20:21:40 · 777 阅读 · 0 评论 -
快速排序的简单实现
void quickSort(int s[], int l, int r) { if (l< r) { int i = l, j = r, x = s[l]; while (i < j) { while(i < j && s[j]>...原创 2018-04-24 21:47:26 · 167 阅读 · 0 评论 -
字符串逆序
#include <stdio.h>#include <string.h>char* str_reverse(char* str){ int n = strlen(str) / 2; int i = 0; char tmp = 0; for(i = 0; i < n; i++) { tmp = str...转载 2018-04-24 21:46:38 · 305 阅读 · 0 评论 -
数据结构之线性结构与非线性结构的区别、分类
今天再看数据结构的书,想把自己理解的线性结构与非线性结构与大家分享一下。线性结构是什么呢?有什么特点呢?线性结构有唯一的首元素(第一个元素)线性结构有唯一的尾元素(最后一个元素)除首元素外,所有的元素都有唯一的“前驱”除尾元素外,所有的元素都有唯一的“后继”数据元素之间存在“一对一”的关系例如:数组A1,A2,A3,........An,首元素就是A1,尾元素就是An什么结构属于线性结构呢?顺序表...转载 2018-04-23 17:29:49 · 7390 阅读 · 0 评论 -
数据结构--后缀表达式一些习题
(56-20)/(4+2) --> 56#20#-4#2#+/(A+B*C)/D --> ABC*+D/A+B*(C-D)-E/F --> ABCD-*+EF/-注意:如果给的中缀表达式是纯数字,就需要在数字后面加#,运算符后面不需要。如果给的中缀表达式是字母,就都不需要#。...原创 2018-04-04 09:14:04 · 3297 阅读 · 1 评论 -
数据结构--栈:进栈顺序1234,出栈顺序有哪些?3142不可能
进栈顺序1234,出栈顺序有1234 1243 1324 1342 14322134 2143 2314 2341 24313214 3241 3421 4321共14种,其中出栈顺序3142是得不到的原创 2018-04-04 08:50:32 · 29875 阅读 · 4 评论 -
java中的length属性,length()方法,size()方法
java语言中针对数组提供了length属性来获取数组的长度针对字符串提供了length()方法来获取字符串的长度针对泛型集合类提供了size()方法来获取元素的个数[java] view plain copypublic class TestDemo { public static void testArray(int[] arr) { System.out.prin...转载 2018-04-03 09:08:40 · 425 阅读 · 0 评论 -
数据结构(1):VS2013创建C++项目
VS2013创建C++项目,步骤:1、左上角文件--新建--项目2、左边模板选择VC++--Win323、中间窗口选择Win32控制台应用程序,底下名称为:项目名,位置为:在电脑上放的wordspace,点击确定。如下图:4、选择下一步,如图:5、在右边可以看到刚刚新建的项目名,点击源文件--添加--新建项6、如图:7、测试代码:#include "iostream"using namespac...原创 2018-04-03 08:50:18 · 3286 阅读 · 0 评论 -
数据结构排序(简单易懂口语化)--冒泡,快速,直接插入,希尔,直接选择,堆,归并,基数
1、排序1)冒泡排序从数组中第一个数开始,一直跟后一个数比较,小的放前面,大的放后面。稳定性:稳定 平均时间复杂度:O(n^2)//array[]为待排序数组,n为数组长度void BubbleSort(int array[], int n){ int i, j, k; for(i=0; i<n-1; i++) f...原创 2018-02-23 19:35:16 · 264 阅读 · 0 评论 -
数据结构:排序算法的稳定性分析
堆排序、快速排序、希尔排序、直接选择排序是不稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。其次,说一下稳定性的好处。排序算...转载 2019-08-22 09:54:02 · 396 阅读 · 0 评论