📄 shanchongfu.cpp
字号:
#include <stdio.h>
#define maxlength 200
typedef int elementtype;
struct LIST{
elementtype elements[maxlength];
int last;
};
typedef int position;
void DELETE(position p, LIST& L);
position FIRST(LIST L);
position END(LIST L);
position NEXT(position p ,LIST L);
elementtype RETRIEVE(position p, LIST L);
int same(elementtype element1, elementtype element2);
int main(void)
{
LIST L;
int t;
position p,q;
printf("请输入将要输入的整数的个数: ");
scanf("%d", &L.last);
while((L.last >= maxlength) || (L.last <= 0))
{
if(L.last <= 0)
{
printf("输入有误,请重新输入: ");
scanf("%d", &L.last);
}
else
{
printf("输入的整数个数过多,请重新输入: ");
scanf("%d", &L.last);
}
}
printf("请依次输入想要输入的整数:\n");
for(t = 1; t <= L.last; t++)
scanf("%d", &L.elements[t]);
printf("输入的整数依次是: ");
for(t = 1; t <= L.last; t++)
printf("%d ", L.elements[t]);
printf("\n");
p = FIRST(L);
while(p != END(L))
{
q = NEXT(p, L);
while(q != END(L))
{
if(same(RETRIEVE(p, L), RETRIEVE(q, L)))
DELETE(q ,L);
else
q = NEXT(q, L);
}
p = NEXT(p, L);
}
printf("删除重复元素后的输出是: ");
for(t = 1; t <= L.last; t++)
printf("%d ", L.elements[t]);
printf("\n");
return 0;
}
void DELETE(position p, LIST& L)
{
position q;
if((p > L.last)||(p < 1))
printf("指定位置不存在!\n");
else{
L.last = L.last - 1;
for(q = p; q <= L.last; q++)
L.elements[q] = L.elements[q+1];
}
}
position FIRST(LIST L)
{
return (1);
}
position END(LIST L)
{
return (L.last + 1);
}
position NEXT(position p ,LIST L)
{
if((p > L.last)||(p < 1))
{
printf("前驱元素不存在!");
return (-1);
}
else
return (p + 1);
}
elementtype RETRIEVE(position p, LIST L)
{
if(p > L.last)
{
printf("指定元素不存在!");
return (-1);
}
else
return(L.elements[p]);
}
int same(elementtype element1, elementtype element2)
{
if(element1 == element2)
return 1;
else
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -