//有 n个整数,使其前面各数顺序向后移 m 个位置,最后m个数变成最前面的 m 个数。 void move(int* arr, int arr_size, int move_num) { //计算下截取数据的起始位置 int end_index = arr_size - move_num; //循环获取截取数据 for (int i = 0; i < move_num; i++) { int* p = arr + end_index + i;//arr + end_index + i这里加i是因为截断的数据有多个 int temp = *p;//临时存放截取的数据 //从截取数据往前的数据都往后移动 for (int j = end_index+i; j > i; j--) { *p = *(p - 1); p--; } *(arr + i) = temp; } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)