最近,有个算法需求,如何删除数组中重复的元素,重复的元素只保留一个
比如
"abc","ad","abc","ed","ab","ac","ad","abc","ad","abc"
经过算法过后的结果应该是
abc ad ed ab ac
话不多说,上代码:
#define _CRT_SECURE_NO_WARNINGS #include#include //删除一个数组中重复的数据 //以下代码调试通过 //HQ原创 void delsame(char array[100][10], int& n) { for (int i = 0; i < n; i++) { char p[100]; strcpy(p, array[i]); for (int j = i + 1; j < n; j++)//从第二个开始检测 { if (strcmp(p, array[j]) == 0) { for (int k = j; k < n - 1; k++)//若相同,就把后面的元素向前移动,覆盖重复的 { //总数个数减1 char temp[100]; strcpy(temp, array[k]); strcpy(array[k], array[k + 1]); strcpy(array[k + 1], temp); } --n;//删除一个,总数减1 --



