Ruby Python Java C C++ 数组使用方法对比
Ruby可以用 length ,size 这些关键字获得数组的大小
这里Ruby ,python, JAVA 都使用了类的方法
有静态方法,也有动态方法
首先是Ruby
#!/usr/bin/rubyclassProdefinitialize(example)@current_num=exampleenddefget_darr=Array.new(@current_num){|e|e=e*1}tmp=1foriin0..arr.length-1ifarr[i]-tmp>4puts"#{arr[i]}"tmp=arr[i]endendenddefself.put_Each()sum=0foriin0..10putsisum+=iendputssumendendObj1=Pro.new(17)Obj1.get_dPro.put_Each
然后是Python, 在#分割线之后的用的是单独的递归函数
#!/usr/bin/python#-*-coding:UTF-8-*-classPro:def__init__(self,example):self.current_num=exampledefget_d(self):arr=list(range(0,self.current_num))tmp=1foriinarr:ifi-tmp>4:printitmp=iObj1=Pro(17)Obj1.get_d()#################################################defget_distance(A):foriinA[1:]:ifi-A[0]>4:t=A.index(i)printireturnget_distance(A[t:])a=list(range(1,17))get_distance(a)
然后是C
#include"stdio.h"intmain(void){inti,arr[16];inttmp=1;for(i=0;i<16;i++){arr[i]=i+1;}for(i=0;i<16;i++){if(arr[i]-tmp>4){printf("%d\n",arr[i]);tmp=arr[i];}}return0;}
接下来是 C++
#include<iostream>usingnamespacestd;voidget_d(intarr[],intn){inti,*p=arr;inttmp=1;for(p=arr;p<arr+16;p++){if(*p-tmp>n){cout<<*p<<endl;tmp=*p;}}}intmain(){voidget_d(intarr[],intn);inta[16],*p=a,i;for(i=0;i<16;i++){p[i]=i+1;}get_d(a,4);return0;}
最后是Java
classPro{publicvoidget_d(intexample){int[]arr=newint[example];inttmp=1;for(inti=0;i<example;i++){arr[i]=i+1;}for(inti=0;i<arr.length;i++){if(arr[i]-tmp>4){System.out.println(arr[i]);tmp=arr[i];}}}}publicclassTest{publicstaticvoidmain(String[]args){ProObj1=newPro();Obj1.get_d(16);}}
JAVA 给原始数组赋值的语句直接写在 Pro 类的 get_d方法中了。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。