自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bravvve_dreamer的博客

学习之路,进攻旦旦之路。

  • 博客(6)
  • 收藏
  • 关注

原创 在有序线性表中查找x元素

问题描述:线性表(a1, a2, ..., an)中元素递增有序且按顺序存储于计算机内。要求设计以算法完成用最少时间在表中查找数值为x的元素,若找到将其与后继元素位置相交换,若找不到将其插入表中并使表中元素仍递增有序。 分析:顺序存储的线性表递增有序,结合题目要求,故可以使用折半查找法(时间复杂度为log2n(以2为底,n的对数))。void serachExchangeInsert(int *a...

2018-04-25 00:19:31 4303 1

原创 将一维数组A[m+n]中的两个线性表位置互换

问题描述:已知在一维数组A[m+n]中一次存放着两个线性表(a1, a2, ..., am)和(b1, b2, ..., bn),试写一个函数,将数组中两个顺序表的位置互换,即将(b1, b2, ..., bn)放在(a1, a2, ..., am)的前面。分析:首先将数组A[m+n]中的全部元素(a1, a2, ..., am, b1, b2, ..., bn)原地逆置为(bn, bn-1, ....

2018-04-24 01:43:15 2415

原创 将两个有序表合并成一个新的有序表

问题描述:将两个有序(升序)表合并成一个新的有序表,并由函数返回结果顺序表。分析:首先,按顺序不断取下两个顺序表表头较小的节点存入新的顺序表中。然后,看哪个表还有剩余,将剩下的部分加到新的顺序表后面。//code 1void merge_1(int *a, int n, int *b, int m, int *result, int &len){ int i, j; len = i...

2018-04-23 23:04:40 5001

原创 从有序表中删除所有其值重复的元素

问题描述:从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不相同。方法一:用k记录顺序表a中不重复的元素的个数,用temp记录不重复的元素。在遍历过程中让每个元素与temp比较,若该元素与temp不同则统计k的个数并将该不重复的元素向前放置在k位置上,若相同则是重复元素则继续向后判断,直至判断到表尾为止。void delRept_1(int *a, int &n){ int ...

2018-04-23 01:43:33 5798 2

原创 从顺序表中删除其值在给定值s与t之间的所有元素

问题描述:从顺序表中删除其值在给定值s与t之间(包含s和t,要求s<t)的所有元素。情况1:有序顺序表。分析:因为是有序表,所以删除的元素必然是相连的整数。于是,我们可以先寻找值大于等于s的第一个元素(即第一个删除的元素),然后再寻找大于t的第一个元素(即最后一个删除的元素的下一个元素),要讲这段元素删除,则只需直接将后面大于t的元素前移就可以了。void del_1(int *a, int...

2018-04-23 00:27:12 8510 7

原创 删除线性表中所有值为x的元素

问题描述:长度为n的顺序表,编写算法,该算法删除线性表中所有值为x的元素。要求:时间复杂度为O(n),空间复杂度为O(1)方法一:用k记录顺序表a中不等于x的元素的个数(即需要保存的元素个数),边扫描a边统计k,并将不等于x的元素向前放置在k位置上,最后修改a的长度。void delX_1(int *a, int &n, int x){ int k = 0; //用来记录不等于x的数据...

2018-04-21 23:11:57 3464

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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