示例#1
0
void	ft_sa(t_push *p)
{
	int	tmp;

	if (!p->l1[p->nbl1 - 1])
		return ;
	tmp = p->l1[p->nbl1 - 1];
	p->l1[p->nbl1 - 1] = p->l1[p->nbl1 - 2];
	p->l1[p->nbl1 - 2] = tmp;
	ft_option(p, "sa");
}
示例#2
0
void	ft_sb(t_push *p)
{
	int	tmp;

	if (!p->l2[1])
		return ;
	tmp = p->l2[0];
	p->l2[0] = p->l2[1];
	p->l2[1] = tmp;
	ft_option(p, "sb");
}
示例#3
0
void	ft_pb(t_push *p)
{
	int	*tmp;

	tmp = p->l2;
	if (p->nbl1 == 0)
		return ;
	p->l2 = ft_addandalloc(p->nbl2 + 1, tmp, p->l1[p->nbl1 - 1]);
	tmp = p->l1;
	p->l1 = ft_removefirst(p->nbl1, tmp);
	p->nbl1--;
	p->nbl2++;
	ft_option(p, "pb");
}
示例#4
0
void	ft_pa(t_push *p)
{
	int	*tmp;

	tmp = p->l1;
	if (p->nbl2 == 0)
		return ;
	p->l1 = ft_addandalloc(p->nbl1 + 1, tmp, p->l2[p->nbl2 - 1]);
	tmp = p->l2;
	p->l2 = ft_removefirst(p->nbl2, tmp);
	p->nbl1++;
	p->nbl2--;
	ft_option(p, "pa");
}
示例#5
0
void	ft_rb(t_push *p)
{
	int	i;
	int	var;

	i = p->nbl2;
	var = p->l2[p->nbl2 - 1];
	while (i > 0)
	{
		p->l2[i] = p->l2[i - 1];
		i--;
	}
	p->l2[0] = var;
	ft_option(p, "rb");
}
示例#6
0
void	ft_ra(t_push *p)
{
	int	i;
	int	var;

	i = p->nbl1;
	var = p->l1[p->nbl1 - 1];
	while (i > 0)
	{
		p->l1[i] = p->l1[i - 1];
		i--;
	}
	p->l1[0] = var;
	ft_option(p, "ra");
}
示例#7
0
void	ft_rrb(t_push *p)
{
	int	i;
	int var;

	i = 0;
	var = p->l2[0];
	while (i < p->nbl2 - 1)
	{
		p->l2[i] = p->l2[i + 1];
		i++;
	}
	p->l2[i] = var;
	ft_option(p, "rrb");
}
示例#8
0
void	ft_rra(t_push *p)
{
	int	i;
	int var;

	i = 0;
	var = p->l1[0];
	while (i < p->nbl1 - 1)
	{
		p->l1[i] = p->l1[i + 1];
		i++;
	}
	p->l1[i] = var;
	ft_option(p, "rra");
}
示例#9
0
文件: ft_sb.c 项目: Bleupi/Push_swap
int ft_sb(t_env *env)
{
	int		tmp;
	int		tmp2;

	tmp = 0;
	tmp2 = 0;
	if (env->b_first != NULL && env->b_first->next != NULL)
	{
		tmp = env->b_first->nbr;
		tmp2 = env->b_first->rp;
		env->b_first->nbr = env->b_first->next->nbr;
		env->b_first->rp = env->b_first->next->rp;
		env->b_first->next->nbr = tmp;
		env->b_first->next->rp = tmp2;
		if (!env->rr && !env->ss && !env->rrr)
			ft_operation(env, "sb");
		if (env->v)
			ft_option(env, 'v');
	}
	return (1);
}