读入100个整数到一个数组中,写出实现该数组进行逆置的算法。

方法一:

假设100个整数读入到数组a中,算法f1的思想是分别从数组两端依次将对应数进行交换,
即a[i]与a[100 - i - 1]进行交换,i = 0~49。
f1所需要的辅助变量为2个整型变量i和temp,与问题的规模无关,其空间复杂度为O(l)。

代码如下:

#include <stdio.h>

void f1(int *a, int n)
{
int i, temp;
for(i = ;i <= n/ - ;i++)
{
temp = a[i];
a[i] = a[n - i - ];
a[n - i - ] = temp;
}
} main()
{
int a[],i;
int n = ; for(i = ;i < n;i++)
{
a[i] = i;
}
f1(a, n); for(i = ;i < n;i++)
{
printf("%d ", a[i]);
} printf("\n");
}

方法二:

算法f2的思想是将数组a先逆置到数组b,再从数组b复制到数组a,

需要辅助变量为1个整型变量i和大小为n=100的整型数组b(与问题的规模相关),
其空间复杂度为O(n)。

代码如下:

#include <stdio.h>

void f2(int a[], int n)
{
int i, b[];
for(i = ;i < n;i++)
{
b[i] = a[n - i - ];
} for(i = ;i < n;i++)
a[i] = b[i];
} main()
{
int a[],i;
int n = ; for(i = ;i < n;i++)
{
a[i] = i;
} f2(a, n); for(i = ;i < n;i++)
{
printf("%d ", a[i]);
} printf("\n"); }

C语言实现整数数组的逆置算法的更多相关文章

  1. SDUT OJ 顺序表应用4:元素位置互换之逆置算法

    顺序表应用4:元素位置互换之逆置算法 Time Limit: 10 ms Memory Limit: 570 KiB Submit Statistic Discuss Problem Descript ...

  2. C语言strrev()函数:字符串逆置(倒序、逆序)

    头文件:#include<string.h> strrev()函数将字符串逆置,其原型为:    char *strrev(char *str); [参数说明]str为要逆置的字符串. s ...

  3. C语言 链表的创建--打印--逆置--新增--删除--排序--释放

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string. ...

  4. C语言实现单链表的逆置

          单链表的逆置是一个非常经典的问题,这里利用两个思想进行解决.       首先,我们需要看下原理图,其实两个思想都是一样的,都是使后一个的节点的 next 指针指向前一个节点,依次递推,直 ...

  5. 顺序表应用4-2:元素位置互换之逆置算法(数据改进)(SDUT 3663)

    Problem Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1&l ...

  6. 数据结构之C语言模拟整数数组实现

    #include <stdio.h> #include <malloc.h> #include <stdlib.h> typedef struct Arr { in ...

  7. C语言 实现逆置功能

    C语言 实现逆置功能 //凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. 字符串的逆置 方法1:利用数组 #include<stdio.h> ...

  8. c语言经典算法——查找一个整数数组中第二大数

    题目: 实现一个函数,查找一个整数数组中第二大数. 算法思想: 设置两个变量max1和max2,用来保存最大数和第二大数,然后将数组剩余的数依次与这两个数比较,如果这个数a比max1大,则先将max1 ...

  9. LeetCode——Reverse Integer(逆置一个整数)

    问题: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return –321   Ha ...

随机推荐

  1. 2.Bootstrap CSS

    Bootstrap CSS 一.Bootstrap CSS概览 移动设备优先 移动设备优先是 Bootstrap 3 的最显著的变化. 在之前的 Bootstrap 版本中(直到 2.x),您需要手动 ...

  2. static成员变量和static成员函数例程

    #include "pch.h" #include <iostream> using namespace std; class goods { public: good ...

  3. 清除bean中所有非基本数据类型的属性值

    利用beanutils清除javabean中所有非基本数据类型的属性值: import com.google.gson.Gson; import lombok.Data; import org.apa ...

  4. 02-线性结构3 Reversing Linked List (25 分)

    Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elem ...

  5. PM2的安装和使用简介

    一.简介 PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控.自动重启.负载均衡等,而且使用非常简单. 二.前期必备 node 环境 npm 三.安装 全局安装 ...

  6. ASP.NET中类的多语言编译

    App_Code 文件夹中同时使用多种语言编程的方法 在web.config文件里,加入如下的配置 <configuration>  <system.web> <comp ...

  7. VS2010,VS2012,VS2015等的自动提示不能默认选中的功能解决办法

    很简单,只需要按 ctrl+alt+space 即可切换. 蛋疼,我到底为什么总会不小心切换过去,而且每次都记不住这个快捷键切换回来...

  8. 关于new Option()

    先来了解下,如何运用js实现select动态添加option. //1.动态创建select function createSelect(){ var mySelect = document.crea ...

  9. Linux修改BASH命令提示符

    Shell命令提示符及颜色是由PS1来配置: 1.其中PS1常用的参数含义如下: \d :#代表日期,格式为weekday month date,例如:"Mon Aug 1" \H ...

  10. Git中.gitignore, 忽略追踪

    在目录下 创建: .gitignore文件,将不需要被追踪的文件地址, 写在该文件中, 此时git软件就不会追踪列出的文件进行版本同步: windows不允许创建没有文件名的文件,可以用编辑器创建.g ...