考研数据结构顺序表综合应用题(一)

01 :删最小元素,返回最小元素值,把最后一个元素补到最小元素的位置

int 01 ( Sqlist L )  {
	int i,j,e;
	int temp;
	temp = L.data[0];
	for ( i=1;i < L.length ; i++ ) {
		if ( temp > L.data[i] ){
			temp = L.data[i];
		}
		for ( i = 0 ;i < L.length ; i++ ) {
			if ( temp == L.data[i] )	j = i ;
		}
		e = L.data[j];
		L.data[j] = L.data[L.length - 1];
		L.length - - ;
		}
		return 0 ;
}

02 设计一个O(1)的算法将顺序表逆置

03 编写时间复杂度O(n),空间复杂度O(1)的删特值元素的算法

int 03 (Sqlist L , int x ) {
	int i,j,e;
	for ( i = 0 ; i < L.length ; i++ ){
		if ( L.data[i[== x ) {
			e = L.data[i];
			for( j = i ;j < L.length ; j++ ){
				L.data[j] = L.daat[j + 1];
			}
			l.length--;
		}
	}
		return 0 ;
}

04 删除有序顺序表中值 s 到 t 之间的元素,若 s , t 不合理,或顺序表为空,则输出ERROR;

int 04 ( Sqlist L , int s , int t) {
	int i ,j , k , e ;
	if ( s > t && L.length ==0 )	printf ( "ERROR !!!" ) ;
	else {
		for ( i = 0 ; i < L.length ; i++ ) {
			if ( L.data[i] > s && L.data[i] < t ) {
				e = L.data[i];
				for ( j = i ; j < L.length ; j++ )	L.data[j] = L.data[j + 1];
				L.length -- ;
			}
		}
	return 0 ;
}

05 在 04 的条件下包含 s 和 t ;

int 05 ( Sqlist L , int s , int t) {
	int i ,j , k , e ;
	if ( s > t && L.length ==0 )	printf ( "ERROR !!!" ) ;
	else {
		for ( i = 0 ; i < L.length ; i++ ) {
			if ( L.data[i] > = s && L.data[i] < = t ) {
				e = L.data[i];
				for ( j = i ; j < L.length ; j++ )	L.data[j] = L.data[j + 1];
				L.length -- ;
			}
		}
	return 0 ;
}

06 在有序顺序表中删除所有重复的值,使得表中元素都不同

void 06 ( Sqlist L ){
	int i , j , e ;
	for ( i = 0 ; i < L.length ; i++ )  {
		if ( L.data[i+1] == L.data[i] ) {
			e = L.data[i+1] ;
			for ( j = i+1 ; j < L.length ; j++ ){
				L.data[j] = L.data[j+1] ;
			}
			L.length -- ;
		}
	}
}

07 两个有序顺序表合成一个有序顺序表;

int 07 (Sqlist L , Sqlist Q) {
	int i , j = 0 , k = 0 ;
	Sqlist M ;
	while ( M.Length == L.length + Q.length ) {
		for ( i = 0 ; i < L.length + Q.length ; i ++) {
			if ( L.data[j] < Q.data[k] ){
				M.data[i] = L.data[j] ;
				M.Length ++ ;
				i ++ ;	j ++ ;
			}else {
				M.data[i] = Q.data[k] ;
				M.Length ++;
				i ++ ; 	k ++ ;
			}
		}
	}
	return M ;
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
综合试题及答案,帮助大家更好的复习.25、用一组地址连续的存储单元存放的元素一定构成线性表。( ) A ) 平均情况下,快速排序法最快,堆积排序法最节省空间 若线性表采用顺序存储结构,每个数据元素占用4个存储单元,第12个数据元素的存储地址为144,则第1个数据元素的存储地址是101。Loc(ai)=locl+(i—1)( ) 若长度为n的线性表采用顺序存储结构,删除表的第i个元素之前需要移动表中n-i+1个元素。( )【这是插入的,删除的n-i】 确定串T在串S中首次出现的位置的操作称为串的模式匹配。( 深度为h的非空二叉树的第i层最多有2i-1 个结点。 散列表的查找效率主要取决于所选择的散列函数与处理冲突的方法。 稀疏矩阵压缩存储后,必会失效掉随机存取功能 若一个有向图的邻接矩阵中,对角线以下元素均为0,则该图的拓扑有序序列必定存在。( ) 二叉树可以用0≤度≤2的有序树来表示。 非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:p->prior=q, p->next=q->next,q->next=p,q->prior->next←p。( ) 删除非空链式存储结构的堆栈(设栈顶指针为top)的一个元素的过程是依次执行:p=top,top= p->next,free (p)。( ) 排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。( ) 在索引顺序表上实现分块查找,在等概率查找情况下,其平均查找长度不与表的个数有关,而与每一块中的元素个数有关 无向图的邻接矩阵是对称的有向图的邻接矩阵是不对称的。( _ D _ C B D D C C A B ( C A B D D C B. C C D 如果某图的邻接矩阵是对角线元素均为零的上三角矩阵,则此图是 D D D C A D A D D B A D A B D B C B ( D A B D C 6___ ( C D D __ C A B D 针q所指 C A A D A D B  D A② D A、 )的有限集合 C _B A  C A  C A D ( D C A D B ( B D ( D _ A A ) ( C A ( B ( B D 只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。(

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值