将一个顺序表的前三个元素移到最后

简介: 将一个顺序表的前三个元素移到最后

//1.第一个(两个其实差不多,只不过我比较喜欢用后者)

#include <stdio.h>
void move(int *a,int n)//指针a接收数组首元素的地址
{
    int i,j,X;
    int *p=a;//指针p也指向a数组
    for(i=0;i<3;i++)
    {
        X=*a;//*a代表数组的第一个元素
        for(j=1;j<n;j++)
        {
            *(p+j-1)=*(p+j);
        }
        *(p+j-1)=X;
        
    }
}
int main (void)
{    int a[8]={3,2,5,8,4,7,6,9};
    int i;
    move(a,8);
    for(i=0;i<8;i++)
        printf("%5d",a[i]);
    printf("\n");
    return 0;
}

//第二个

#include <stdio.h>
void move(int *a,int n)//指针a接收数组首元素的地址
{
    int i,j,X;
    for(i=0;i<3;i++)
    {
        X=a[0];
        for(j=1;j<n;j++)
        {
            a[j-1]=a[j];
        }
        a[j-1]=X;
        
    }
}
int main (void)
{    int a[8]={3,2,5,8,4,7,6,9};
    int i;
    move(a,8);
    for(i=0;i<8;i++)
        printf("%5d",a[i]);
    printf("\n");
    return 0;
}
相关文章
|
7月前
|
算法
顺序表应用4:元素位置互换之逆置算法
顺序表应用4:元素位置互换之逆置算法
|
7月前
|
存储
三种方法实现获取链表中的倒数第n个元素
三种方法实现获取链表中的倒数第n个元素
70 0
|
7月前
|
算法
顺序表应用4-2:元素位置互换之逆置算法(数据改进)
顺序表应用4-2:元素位置互换之逆置算法(数据改进)
【Leetcode -剑指Offer 22.链表中倒数第k个结点 -203.移除链表元素】
【Leetcode -剑指Offer 22.链表中倒数第k个结点 -203.移除链表元素】
36 0
求链表的倒数第m个元素
求链表的倒数第m个元素
76 1
【 LeetCode题解 】203. 移除链表元素
【 LeetCode题解 】203. 移除链表元素 当val在链表中间时,遇到val就删除链表中和val相同的节点,并链接val后面的节点。 当val在链表开头时,或者连续的时候,我们将链表其实的head(头)向后移动,直到找到不是val的节点,作为开始的头。
62 0
链表oj题讲解(1)——移除链表元素
在初步给大家介绍链表之后,为了让大家更好的理解和巩固链表,小编这里会从易到难以此给大家带来一系列关于链表的oj题。那么接下来就让我们看看今天的例题。
73 1
1.移除链表元素 2.反转链表 3.链表的中间结点
1.移除链表元素 2.反转链表 3.链表的中间结点
72 0
|
存储 算法 安全
【数据结构】顺序栈和链栈的基本操作(定义,初始化, 入栈,出栈,取栈顶元素,遍历,置空)
【数据结构】顺序栈和链栈的基本操作(定义,初始化, 入栈,出栈,取栈顶元素,遍历,置空)
1660 0
力扣27.移除元素【顺序表】
力扣27.移除元素【顺序表】
113 0
力扣27.移除元素【顺序表】