永发信息网

创建一顺序表实现顺序表的逆置,查找,相同元素的删除和合并

答案:1  悬赏:0  手机版
解决时间 2021-03-20 10:59
创建一顺序表实现顺序表的逆置,查找,相同元素的删除和合并
最佳答案
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>

//输出
void output(int *arr,int size);
//反序
void Reverse(int *arr,int size);
//查找,返回找到的下标号,没找到时返回-1
int Find(int *arr,int size,const int findWhat);
//删除相同元素,线性表实际上不能真正删除数据,所以size返回剔除后的真正大小
void DeleteSame(int *arr,int *size);

int main(void)
{
int arr[10] = {3,2,7,9,4,5,8,3,9,0};

//输出
output(arr,10);

//反序
Reverse(arr,10);

//输出
output(arr,10);

//查找 数字8
int position = Find(arr,10,8);
printf("8 is at [%d] position\n",position);

//删除相同的值
int size = 10;
DeleteSame(arr,&size);

//输出 删除相同值后大小为size返回
output(arr,size);

getchar();
return 0;
}

//输出
void output(int *arr,int size)
{
int i = 0;
for ( i = 0 ; i < size ; i++ )
{
printf("%d ",*arr);
arr++;
}
printf("\n");
}

//反序
void Reverse(int *arr,int size)
{
int *pArrStart = arr;
int *pArrEnd = arr + size - 1;

while ( pArrStart < pArrEnd )
{
int tmp = *pArrStart;
*pArrStart = *pArrEnd;
*pArrEnd = tmp;

pArrStart++;
pArrEnd--;
}
}

//查找,返回找到的下标号,没找到时返回-1
int Find(int *arr,int size,const int findWhat)
{
int i = 0;
for ( i = 0 ; i < size ; i++ )
{
if ( arr[i] == findWhat )
{
return i;
}
}

return -1;
}

//删除相同元素,线性表实际上不能整整删除数据,所以size返回剔除后的真正大小
void DeleteSame(int *arr,int *size)
{
int *pCurrent = arr;

while ( pCurrent < arr + *size )
{
int *pWork = pCurrent + 1;
while ( pWork < arr + *size )
{
if ( *pCurrent == *pWork )
{
*size = *size - 1;
memmove(pWork,pWork+1,arr+*size-pWork);
}
pWork++;
}
pCurrent++;
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
微店怎么付款
佳和食品超市在什么地方啊,我要过去处理事情
塔吊型号有谁知道塔吊一台有多重,型号qtz501
2016年全国三卷高考化学27题脱硝主要反应的离
广发银行网上银行慢,是不是破产的前兆?
我剑灵气功刚到五十级 什么武器比较好呢 手里
比例尺是1/100宽是4厘米,高是3厘米,实
难民为什么要去欧洲 有叙利亚难民在中国吗
如果你是那个小男孩你会对巨人说些什么
大学生图书漂流的意义
第七街奶茶店地址有知道的么?有点事想过去
银行能不能换钱
一个男人长用手打飞鸡!请问对身体有害吗!
有没有什么软件是可以帮助学习化学的啊?急求
我今年十二岁,成绩不错。很多人说我瘦。
推荐资讯
符合事物的发展规律、符合人类的根本利益是衡
草鱼头怎么处理
用所给次的适当形式填空
卡车烂漫旅什么意思?
为什么要把税收金额增长作为税务局的考核指标
摇尾乞怜是什么意思
宏达彩印包装地址在哪,我要去那里办事
申请多伦多大学
星沙科目三最新线路2号线路图
2016年阳历3月潍坊天气大约多少度?
用什么样的语言暗示对方他的老婆出轨了?
雍华名苑东门地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?