【无标题】

 

//按值进行查找元素
int list_search_value(seqlist_ptr S ,datatype e)
{
	//判断逻辑
	if(S==NULL||list_empty(S))
	{
		printf("按值查找失败!\n");
		return -1;
	}
	//遍历顺序表
	for(int i=0;i<S->len;i++)
	{
		if(S->data[i] == e)
		{
			printf("%d在该顺序",e);
		}
	}
		return 0;
}

//将顺序表排序
void list_sort(seqlist_ptr S, int flag)
{
	//判断逻辑
	if(S==NULL ||list_empty(S))
	{
		printf("排序失败\n");
		
	}
	int temp=0;
	//判断标志位是降序还是升序
	if(flag==0)
	{
		//开始降序排列
		for(int i=1;i<S->len;i++)
		{
			for(int j=0;j<S->len-i;j++)
			{
				if(S->data[j]<S->data[j+1])
				{
						temp=S->data[j];
						S->data[j]=S->data[j+1];
						S->data[j+1]=temp;
				}
			}
		}
		printf("降序:");
		for(int i=0;i<S->len;i++)
		{
			printf("%d\t",S->data[i]);
		}
		printf("\n");
	}
	//开始升序
	else if(flag == 1)
	{
		for(int i=1;i<S->len;i++)
		{
			for(int j=0;j<S->len-i;j++)
			{
				if(S->data[j]>S->data[j+1])
				{
						temp=S->data[j];
						S->data[j]=S->data[j+1];
						S->data[j+1]=temp;
				}
			}
		}
		printf("升序:");
		for(int i=0;i<S->len;i++)
		{
			printf("%d\t",S->data[i]);
		}
		printf("\n");
	}
}


//顺序表反转
void list_reverse(seqlist_ptr S)
{
	//判断逻辑
	if(S==NULL||list_empty(S))
	{
		printf("不能反转,顺序表有错\n");
	}
	int temp=0;  //定义一个临时值
	//开始反转
	for(int i=0;i<(S->len)/2;i++)
	{
		temp=S->data[i];
		S->data[i]=S->data[S->len-i-1];
		S->data[S->len-i-1]=temp;
	}
	//输出反转
	printf("反转后的值是:");
	for(int i=0;i<(S->len);i++)
	{
		printf("%d\t",S->data[i]);
	}
	printf("\n");
}


//求最值操作
datatype list_mvalue(seqlist_ptr S, int flag)
{
	//判断逻辑
	if(S==NULL)
	{
		printf("无法求最值,顺序表错误\n");
	}
	//flag=0 求最小值
	int  M=S->data[0];
	if(flag == 0)
	{
		for(int i=0;i<S->len;i++)
		{
			if(S->data[i]<M)
			{
				M=S->data[i];
			}
		}
		printf("最小值:%d\n",M);
	}
	//flag=0 求最大值
	int Min=S->data[0];
	if(flag == 1)
	{
		for(int i=0;i<S->len;i++)
		{
			if(S->data[i]>Min)
			{
				Min=S->data[i];
			}
		}
		printf("最大值:%d\n",Min);

	}
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值