一个顺序存储的线性表中共有n(n>4)个元素,请将该表的最后一个元素插入到第4个元素之前,其他元素相对位置不变
请问这题怎么做
先将第n个数提出来,再从n-1个数开始到第4个数全部往后移一个位置,最后将提出来的第n个数插入到第4个位置
以30个的数组为例写一下你的代码,你可以改成你需要的。30也可以改成变量,list用malloc动态分配内存。
但原理基本一样。
int list[30];
int n = 30;
int i;
int temp = list[n-1];//缓存第n个元素的值
//把从4到n-1的元素向后平移一个元素
for(i = n - 1; n >= 4; i--)
{
list[i] = list[i-1];
}
list[3] = temp;//原来第n个元素的值赋值到第4个元素。