数据结构(C语言版) 线性表 算法设计Demo19

Posted 华辰永利

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构(C语言版) 线性表 算法设计Demo19相关的知识,希望对你有一定的参考价值。

一个线性表的元素均为正整数,使用带头指针的单链表实现。编写算法:
判断该线性表是否符合:所有奇数在前面,偶数在后面。

[算法分析]

链表所有元素对2取余,将非0元素下标存放到一个数组中,如果下标之间不相邻即代表该线性表不符合要求。

[算法描述]

int discriminant(List &L)
	Vector<int> result;
	int index=0;
	List p;
	p=L;
	while(p)
		if(p->data%2!=0) // 奇数元素坐标入列
			result.append(index);
		
		p=p->next;
		index;
	
	for(int i=0;i<result.size()-1;i++)
		flag=result[i+1]-result[i]; // 如果满足条件,result列表中所有相邻元素插值应为1
		if(flag!=1)
			return 0; // 不满足条件
	
	return 1; // 满足条件

以上是关于数据结构(C语言版) 线性表 算法设计Demo19的主要内容,如果未能解决你的问题,请参考以下文章

数据结构(C语言版) 线性表 算法设计Demo18

数据结构(C语言版) 线性表 算法设计Demo17

数据结构(C语言版) 线性表 算法设计Demo11

数据结构(C语言版) 线性表 算法设计Demo29

数据结构(C语言版) 线性表 算法设计Demo26

数据结构(C语言版) 线性表 算法设计Demo24