求解简单的向量问题
已知一个向量中元素按非递减有序排列,
编写一个函数删除向量中多余的相同的元素。
我自己想了一思路,不足之处望各位老师解答
思路如下:
用两个循环,第一个循环实现比较功能(比较a[i]是否大于a[i+1])
第二个循环实现如果有重复的元素则删除多余的然后向前移位。
我自己的解法如下:
avoid delete (vector v1)
{int i=0,j;
if (a([i]>a[i+1]i<=&&v1.length-1))
i++;
for (j=i,j<=v1.length-1,j++)
v1.a[j-1]=v1.a[j];
v1.length--;
}
我自己反复思考了一下,觉得第一个循环没实现,因为只是比较相邻两个元素,然后第二个循环没有嵌套到第一个循环中。
我初学数据结构,关于简单的向量操作也不太熟悉,望高手将上述函数功能完善为盼!(在线等)
另外向量我是这样定义的
struct vector
int a[ ]
int length
vector v1