标题:循环移动数组元素 禁止开辟新的内存 各位都有啥高招呢
取消只看楼主
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
结帖率:99.76%
已结贴  问题点数:100 回复次数:2 
循环移动数组元素 禁止开辟新的内存 各位都有啥高招呢
程序代码:
//每次只是向左移动一个元素
void _shl(int* s,int len)
{
    int tmp=*s;
    for(int i=1;i<len;i++) *(s+i-1)=*(s+i);
    *(s+len-1)=tmp;
}

//多次调用_shl函数 以变通实现左移N位
void _shlmul(int* s,int len,int offset)
{
    for(int i=0;i<offset;i++) _shl(s,len);
}
搜索更多相关主题的帖子: 元素 高招 
2015-11-16 13:35
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
合并成一个函数也可以  就是双重循环搞定

DO IT YOURSELF !
2015-11-16 13:39
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 3楼 rjsp
加加的看不懂

DO IT YOURSELF !
2015-11-16 15:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-459265-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.238765 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved