//[有序表]删除重复元素||头,结构体,算法,输出,main
//
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#define Max 50
struct Sqlist {
int data[Max] = { 1,2,3,3,3,4,6,6,7 };
int length = 9;
};
bool del_repetition(Sqlist& L) { //删除重复元素
int j=0;
if (L.length == NULL) { //长度判空
return false;
}
for (int i = 1; i < L.length; i++) {
if (L.data[i-1] == L.data[i]) { //只需判断当前元素前一个元素和当前元素是否相同
j++; //j记录有几个重复元素
}
else {
L.data[i - j] = L.data[i]; //前移直接位置占掉
}
}
L.length =L.length-j;
return true;
}
void disp(Sqlist L) {
for (int i = 0; i < L.length; i++)
{
printf("%3d", L.data[i]);
}
printf("\n");
return;
}
int main() {
Sqlist L;
disp(L);
del_repetition(L);
disp(L);
return 0;
}
0106[有序表]删除重复元素||头,结构体,算法,输出,main //
于 2022-11-10 11:00:09 首次发布