欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

数据结构之数组翻转的实现方法

时间:2020-10-22 22:22:05|栏目:C代码|点击:

数据结构之数组翻转的实现方法

以下为实现数组翻转的方法:

1.用c语言实现的版本

#include<stdio.h> 
#define M 20 
 
void fun(int *x,int n) 
{ 
  int *i, *j, *p, m=n/2; 
  i = x; 
  j = x+n-1; 
  p = x+m; 
  for( ; i<p; ++i,--j) 
  { 
    int t = *i; 
    *i = *j; 
    *j = t; 
  } 
} 
 
void main() 
{ 
  int i,a[M],n; 
  printf("Enter n(n<20):\n"); 
  scanf("%d",&n); 
  printf("The original array:\n"); 
  for(i=0; i<n; ++i)  
  { 
    scanf("%d", a+i); 
  } 
  fun(a,i); 
  printf("\nThe array inverted:\n"); 
  for(i=0; i<n; ++i)  
  { 
    printf("%d ", *(a+i)); 
  } 
    printf("\n"); 
} 

2. 用c++实现的版本

#include<iostream> 
#define M 20 
 
void fun(int *x,int n) 
{ 
  int *i, *j, *p, m=n/2; 
  i = x; 
  j = x+n-1; 
  p = x+m; 
  for( ; i<p; ++i,--j) 
  { 
    std::swap(*i,*j); 
  } 
} 
 
void main() 
{ 
  <span style="white-space:pre">  </span>int i,a[M],n; 
<span style="white-space:pre">  </span>std::cout<<"Enter n(n<20):"<<std::endl; 
  std::cin>>n; 
  std::cout<<"The original array:"<<std::endl; 
  <span style="white-space:pre">  </span>for(i=0; i<n; ++i)  
  { 
    std::cin>>*(a+i); 
  } 
  <span style="white-space:pre"> </span> fun(a,i); 
  std::cout<<std::endl<<"The array inverted:"<<std::endl; 
  <span style="white-space:pre">  </span>for(i=0; i<n; ++i)  
  { 
    std::cout<<*(a+i)<<" "; 
  } 
  std::cout<<std::endl; 
} 

效果图如下:


3. 用PHP实现的版本

<?php 
$arrOrigin = array(1,2,3,4,5,6,7,8,9,10); 
$arrReverse = array_reverse($arrOrigin); 
echo '原始数组:'; 
print_r($arrOrigin); 
echo '<br/>'; 
echo '翻转后的数组:'; 
print_r($arrReverse); 
?> 

结果如下所示:

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:C++生成格式化的标准字符串实例代码

栏    目:C代码

下一篇:opencv3/C++ 实现SURF特征检测

本文标题:数据结构之数组翻转的实现方法

本文地址:http://www.codeinn.net/misctech/14592.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有