【例8.12】数组移位:将指定个数的数组尾部元素移到数组首部。 分析:移动1个元素-最后1个元素a[n-1]移动到a0]位置。 实现步骤: ①用中间变量t保存最后一个元素a[n-1]:t=a[n-1]: ②将其余数组元素依次后移: an-2]→a[n-1] a[n-3]→a[n-2] a[1]→a[2] a[0]→a[1] 赋值语句:a[n-1]=a[n-2;an-2]=a[n-3];.,a[1]=a[0]; 改为循环语句:for(in-1;i>0;i-) a[i]=a[i-1]; ③将中间变量t保存的原来的a[n-1]的值放入第一位置:ao]=t 结论:将m个数组尾部元素移到数组首部-上述①~③步执行m次
分析:移动 1 个元素-最后 1 个元素a[n–1]移动到a[0] 位置。 实现步骤: ① 用中间变量t 保存最后一个元素a[n-1]:t = a[n–1]; ② 将其余数组元素依次后移: a[n-2] → a[n-1] a[n-3] → a[n-2] . a[1] → a[2] a[0]→a[1] 赋值语句:a[n-1]=a[n-2]; a[n-2]=a[n-3]; . ; a[1]=a[0]; 改为循环语句:for ( i=n-1; i>0; i-) a[i]=a[i-1]; ③ 将中间变量t 保存的原来的a[n-1]的值放入第一位置:a[0]=t 结论:将m个数组尾部元素移到数组首部-上述①~~③步执行m 次。 【例8.12】数组移位:将指定个数的数组尾部元素移到数组首部
【例8.12】数组移位:将指定m个数的数组尾部元素移到数组首部。 关键代码: ① scanf("%d",&m); ② for(k=1;k<=m;k++)∥m次移位 ③ { ④ t=a[n-1]; ∥保存a[n-1] ⑤ for(i=n-1;i>0;i-) ⑥ a叮=ai-1们;∥数组元素依次后移 ⑦ a[0]=t; ∥an-1到位 ⑧ 7
7 关键代码: ① scanf("%d",&m); ② for ( k=1;k<=m;k++) // m次移位 ③ { ④ t = a[n-1]; // 保存a[n-1] ⑤ for ( i=n-1;i>0;i- ) ⑥ a[i]=a[i-1]; // 数组元素依次后移 ⑦ a[0] = t; // a[n-1]到位 ⑧ } 【例8.12】数组移位:将指定m个数的数组尾部元素移到数组首部