摘要: 1、链式存储结构,数据之间的关系是通过指针体现的 2、静态链表和动态链表的区别: 静态链表和动态链表是线性表链式存储结构的两种不同的表示方式。 静态链表是用类似于数组方法实现的,是顺序的存储结构,在物理地址上是连续的,而且需要预先分配地址空间大小。所以静态链表的初始长度一般是固定的,在做插入和删除操 阅读全文
posted @ 2018-07-26 19:20 三儿啊 阅读(279) 评论(0) 推荐(0) 编辑
摘要: free的实现原理: 操作系统在调用malloc函数时,会默认在malloc分配的物理内存前面分配一个数据结构,这个数据结构记录了这次分配内存的大小,在用户眼中这个操作是透明的。 那么当用户需要free时,free函数会把指针退回到这个结构体中,找到该内存的大小,这样就可以正确的释放内存了。 通过这 阅读全文
posted @ 2018-07-25 15:46 三儿啊 阅读(4297) 评论(0) 推荐(0) 编辑
摘要: 有一个数组r,里面是n个随机排列整数,找到里面的众数,如果该众数的重数大于n/2,则该数为这个数组的主元素 如果按照众数的计算方法,需要先给数组排序。然后再遍历每个元素,得到众数和重数,再来判断重数与n/2的关系。以下为排完序之后找众数的算法。 解法二:依次扫描所给数组的每个整数,将第一个遇到的整数 阅读全文
posted @ 2018-07-20 17:20 三儿啊 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 1/realloc(p,sizeof(int)*n)//给一个已经分配了地址的指针重新分配空间,参数p为原有的空间地址 2、malloc(n*sizeof(int))//请求n个连续的每个长度为整型的空间,若成功返回这个空间的首地址,失败返回0 阅读全文
posted @ 2018-07-19 18:56 三儿啊 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1、每种数据结构都具有插入、删除和查找三种基本运算,这种说法并不正确。 一般而言,并不是所有的数据结构都有这三种基本运算。 比如多维数组,就没有插入和删除,可以看看,哪怕是二维数组,如果删除其中某个元素,用行还是列来顶替,顶替后,二维数组不就出现缺口了。 再比如说栈和队列,一般并不需要查找(其实原则 阅读全文
posted @ 2018-07-18 17:23 三儿啊 阅读(703) 评论(0) 推荐(0) 编辑
摘要: 1、循环队列实现方式是单链表 是物理(存储)结构 2、广义表和数组是线性结构还是非线性结构? (来自百度词条)广义表(Lists,又称列表)是一种非线性的数据结构,是线性表的一种推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构。它被广泛的应用于人工智能等领域的表处理语言LISP语言中。 阅读全文
posted @ 2018-07-17 19:04 三儿啊 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 问题: 问题: 思路: 1) 用while循环输入所需要判断几个字符串符合 stack<char>stackChar//定义一个字符串的栈 bool judgeBrack=true//不合法时,为false 2)用for循环依次取得字符串a[i] 1.如果是‘(’‘【’‘{’合法,入栈stackCh 阅读全文
posted @ 2018-06-11 22:39 三儿啊 阅读(288) 评论(0) 推荐(0) 编辑