
C/C++
文章平均质量分 79
Archer_An
这个作者很懒,什么都没留下…
展开
-
寻找数组中第二大数
如何实现寻找一维数组中第二大数,要求是时间复杂度为O(n)。 具体实现代码如下: #include #include #include int find_2nd_max(int *arr,int n) { int max=arr[0]; //定义最大数 int s_max=arr[1]; //定义次大数 if(max<s_max){ ma原创 2016-03-16 20:46:04 · 420 阅读 · 0 评论 -
顺序存储结构插入与删除
插入操作插入算法的思路: 如果插入位置不合理,抛出异常; 如果线性表长度大于等于数组的长度,则抛出异常或动态增加容量; 从最后一个元素开始向前遍历到第i个位置,分别将它们都向后移动一个位置; 将要插入的元素填入位置i处; 表长度加1; 返回TRUE。实现代码如下: /*初始条件:顺序线性表L已存在,1<=i<=ListLength(L),*/ /*操作结果:在L中第i个位置之前插入新的元素e,L的长原创 2016-03-24 08:32:15 · 1321 阅读 · 0 评论 -
线性表的链式存储结构
链式存储结构思想我们需要让相邻元素之间留有足够余地,那干脆不考虑相邻位置,哪里有空位置就到哪里,只是让每个元素记住它下一个元素的位置在哪里,这样,我们就可以在第一个元素时,知道第二个元素的位置(内存地址)找到它;在第二个元素时,再找到第三个元素的位置,这样所有的元素都可以通过遍历找到。链式存储结构定义为了表示每个数据元素ai与其后继元素ai+1之间的逻辑关系,对数据元素ai来说,除了存储其本身的信息原创 2016-03-24 11:32:53 · 477 阅读 · 0 评论