zoukankan      html  css  js  c++  java
  • 将一个数组中的值按逆序重新存放。例如:原来顺序为8,6,5,4,1。要求改为1,4,5,6,8

    将一个数组中的值按逆序重新存放。例如:原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。

    【答案解析】

    该题为数组的逆置,具体处理方式如下:

    如果begin < end时,则循环进行一下操作

    1. 给定两个下标begin和end,begin放在数组起始的位置,end放在数组最后一个元素的位置
    2. 交换begin和end位置的元素
    3. begin往后移动,end往前移动

    【代码实现】

    #include<stdio.h>
    int main()
    {
    	int array[5] = {8,6,5,4,1};
    	int begin = 0, end = 4;
    
    	printf("逆序之前数组为:");
    	for (int i = 0; i < 5; ++i)
    		printf("%d ", array[i]);
    	printf("
    ");
    
    	// 逆序:begin在数组最左侧,end在数组最右侧
    	// 只要begin < end,将begin和end位置元素进行交换
    	// 然后begin往后移动一步,end往前移动一步
    	while (begin < end)
    	{
    		int temp = array[begin];
    		array[begin] = array[end];
    		array[end] = temp;
    		begin++;
    		end--;
    	}
    
    	printf("逆置之后数组为:");
    	for (int i = 0; i < 5; ++i)
    		printf("%d ", array[i]);
    	printf("
    ");
    	return 0;
    }
    

    【结果截屏】

    将一个数组中的值按逆序重新存放。例如:原来顺序为8,6,5,4,1。要求改为1,4,5,6,8

  • 相关阅读:
    NKOI 1363 (基础二分)
    POJ 1321 棋盘问题(dfs八皇后变形)
    UVA 1368 DNA(模拟+贪心)
    暴力(解数阵)
    A Linear Algebra Problem(唯一性的判定)
    hdu 1565 方格取数(1)
    hdu 1074 Doing Homework
    hdu 1233 还是畅通工程
    hdu 1232 畅通工程
    hdu 1213 How Many Tables
  • 原文地址:https://www.cnblogs.com/inta/p/13274089.html
Copyright © 2011-2022 走看看