指针递归调调用实现循环移位
生活随笔
收集整理的這篇文章主要介紹了
指针递归调调用实现循环移位
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
指針、遞歸實現循環以為,以后的循環卷積c代碼的實現,或許可以用得上,關鍵的是現在用C語言實現卷積都實現不了。愁啊,四天后必須解決這個問題。
#include<iostream> using namespace std; int main() {void move(int*,int,int);int number[20],n,m,i;cout<<"how many numbers?";cin>>n;cout<<"input"<<n<<"numbers:"<<endl;for(i=0;i<n;i++)cin>>number[i];cout<<"how many places do you want move?";cin>>m;move(number,n,m);cout<<"Now they are:"<<endl;for(i=0;i<n;i++){cout<<number[i]<<" ";}cout<<endl;return 0;} void move(int*array,int n,int m){int *p,array_end;array_end=*(array+n-1);//array_end指向數組的最后一位即移出去的那一位for(p=array+n-1;p>array;p--){*p=*(p-1);//倒序指針移動錯位,方便錯出第一位,為后續步驟做準備}*array=array_end;//將移出去的那一位放在數組的第一位即上步通過指針移動空出的第一位m--;if(m>0)move(array,n,m);}?
總結
以上是生活随笔為你收集整理的指针递归调调用实现循环移位的全部內容,希望文章能夠幫你解決所遇到的問題。