C语言实现 您所在的位置:网站首页 数组位置怎么看 C语言实现

C语言实现

2024-03-19 16:56| 来源: 网络整理| 查看: 265

提示:本文讲解有关数组后移前移的操作,以及具体的题目应用.

文章目录 一、数组前移二、数组后移二、数组整体移动题目:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数 总结

一、数组前移

数组前移一个元素分为三部,假设为数组为1,2,3,4,5,6,7,8,9,移动后的数应该为2,3,4,5,6,7,8,9,1

将要被因数组移动干掉的元素,这里就是1存放在临时变量里将数组整体向前移动,其实应该是让后一个元素给到前面一个在将临时变量中存放的元素,也就是1,放在数组的末尾即可

注意,这里整体向前移动,需要正序遍历数组,因为如果是逆序遍历,那么第一次遍历结束,后面的8就没了,直接变成了9,依次类推,每遍历一次,就多一个9.

在这里插入图片描述

在这里插入图片描述 因为每次后一个都要给到前一个,因此前一个的值会被干掉,如果不拿一个临时变量,就找不到那个数了

代码如下

void move_Front(int arr[],int length) { int temp = arr[0],i; for (i = 0; i int temp = arr[0],i; for (i = length - 1; i >= 1; i--) { arr[i-1] = arr[i]; } arr[length-1]=temp; }

这样,虽然也是后一个给前一个值,但是会将前面的值全部干掉

在这里插入图片描述

二、数组后移

有了前面前移的铺垫,那么后移也是一样的.

数组后移一个元素也是分为三部,假设为数组为1,2,3,4,5,6,7,8,9,移动后的数应该为9,1,2,3,4,5,6,7,8

将要被因数组移动干掉的元素,这里就是9存放在临时变量里将数组整体向后移动,其实应该是让前一个元素给到后面一个在将临时变量中存放的元素,也就是9,放在数组的开头即可

代码如下

void move_Behind(int arr[], int length) { int temp = arr[length-1], i; for (i = length - 1; i >= 1; i--) { arr[i] = arr[i - 1]; } }

错误的正序法.

void move_Behind(int arr[], int length) { int temp = arr[length-1], i; for (i = 0; i int* cur = arr; int* num_moving=NULL; int temp = 0; for (int num_fixed = 0; num_fixed *(cur + j) = *(cur + j - 1); } //将临时值放入固定点存好 *(cur + num_fixed) = temp; } } void main() { int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; int moving_pos=0; scanf_s("%d", &moving_pos); printf("origin:\n"); for (int i = 0; i printf("%d\t", arr[i]); } } 总结

提示:这里对文章进行总结: 例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有