首页 > 其他分享 >线性表06

线性表06

时间:2023-03-25 22:24:07浏览次数:26  
标签:06 线性表 重复 元素 算法 有序 本题

06.从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不同。

算法思想:注意是有序顺序表,值相同的元素一定在连续的位置上,用类似于直接插入排序的思想,初始时将第一个元素视为非重复的有序表。之后依次判断后面的元素是否与前面非重复有序表的最后一个元素相同,若相同,则继续向后判断,若不同,则插入前面的非重复有序表的最后,直至判断到表尾为止。

本题代码如下:

bool Delete_Same(SqList &L)
{
	if(L.length==0)
	{
		return false;
	}
	int i,j;//i存储第一个不相同的元素,j为工作指针 
	for(i=0,j=1;j<L.length;j++)
	{
		if(L.data[i]!=L.data[j])//查找下一个与上个元素值不同的元素 
		{
			L.data[++i]=L.data[j];//找到后,将元素前移 
		}
	}
	L.length=i+1;
	return 0;
}

对于本题的算法,请读者用序列1,2,2,2,2,3,3,3,4,4,5来手动模拟算法的执行过程,在模拟过程中要标注 i 和 j 所指示的元素。

思考:如果将本题的有序表改为无序表,你能想到时间复杂度为O(n)的方法吗?(提示:使用散列表。)

标签:06,线性表,重复,元素,算法,有序,本题
From: https://www.cnblogs.com/bujidao1128/p/17255763.html

相关文章

  • 线性表05
    05.从顺序表中删除其值在给定值s与t之间(包含s和t,要求s<t)的所有元素,若s或t不合理或顺序表为空,则显示出错信息并退出运行。算法思想:从前向后扫描顺序表L,用k记录下元素值在......
  • CF1806C-Sequence Master
    题目地址题意:给出m和一个长度为2m的数组a,令数组b长度也为m,且对于b任意一个长度为m的子序列的积等于剩下的和,求出最小的Σ|a[i]-b[i]|Solution显然只有一下几种情况:1.m=......
  • Python爬虫基础——06-文件的读写
    2.12文件2.12.1文件的打开和关闭:在python中,使用open函数,可以打开一个已存在的文件夹,或者创建一个新文件open(文件路径,访问模式)示例如下:f=open('test.txt','w')文件路径......
  • bzoj 2806 [Ctsc2012]Cheat
    2806:[Ctsc2012]CheatTimeLimit: 20Sec  MemoryLimit: 256MBSubmit: 1324  Solved: 676[Submit][Status][Discuss]DescriptionInput第一行两个......
  • bzoj 2594 [Wc2006]水管局长数据加强版
    2594:[Wc2006]水管局长数据加强版TimeLimit: 25Sec  MemoryLimit: 128MBSubmit: 3509  Solved: 1119[Submit][Status][Discuss]DescriptionSC省M......
  • 线性表04
    04.从有序顺序表中删除其值在给定值s与t之间(要求s<t)的所有元素,若s或t不合理或顺序表为空,则显示出错信息并退出运行。在很多教材中指的"有序",如无特别说明,通常是指“递增......
  • CSS06.继承
    继承子元素会继承父元素的某些(不是全部)CSS属性通常,跟文字内容相关的属性都能被继承例:background-color、weigh、height不能被继承概念:子标签会继承父标签的某些......
  • ASEMI代理NXP汽车芯片MIMXRT1064CVJ5B
    编辑-ZMIMXRT1064CVJ5B工业产品交叉处理器MIMXRT1064CVJ5B是一个新的处理器系列,采用了恩智浦先进的ArmCortex®-M7内核,其运行速度高达528MHz,可提供高CPU性能和最佳实时响......
  • P06:Chrome插件 Redux-DevTools 用来调试Redux数据
    Redux基础阐述如何配置ReduxDevToolsChrome插件Redux-DevTools–Redux调试工具阐述在前面的文章中已经制作了Redux中state仓库,也可以从仓库中取出数据了。接下来我们需......
  • bzoj 2006 [NOI2010] 超级钢琴 线段树求区间极值+优先队列
    挺神奇的一道题,唯一想不通的是为什么放在主席树的题单里..首先暴力找出所有的合法区间显然是不可能的。考虑怎么贪心,假如固定每个L作为左端点,那么合法的区间就是[L+l-1,L......