swust-oj-943-顺序表插入操作的实现

AC代码:

 #include<stdio.h>
 #define MaxSize 50
 /**
 *逆置顺序表
 */
 struct Sqlist{
  int data[MaxSize];
  int length;
 };
void ChaZhaoTihuan(Sqlist &L1,int item,int data)
{
 int i=-1;//定义i用以记录查找元素的位置
 //遍历顺序表查找item元素是否存在
 for(int j=0;j<L1.length;j++)
 {
  if(L1.data[j]==item)
  {
   i=j;
   break;//查找成功,退出循环
  } 
 }
 if(i!=-1)
 {//在已有元素前添加data数据
  for(int j=L1.length;j>=i;j--)
   L1.data[j]=L1.data[j-1];
  L1.data[i]=data;
  L1.length++;//表长+1
 }
 
 else{//未查找到元素,在顺序表的末尾
  L1.data[L1.length]=data;
  L1.length++;//表长+1
 }
}
 int main()
 {
  Sqlist L1;
  scanf("%d",&L1.length);
  for(int i=0;i<L1.length;i++)
  {
   scanf("%d",&L1.data[i]);
 }
 int item;
 int data;
 scanf("%d",&item);
 scanf("%d",&data);
 ChaZhaoTihuan(L1,item,data);
 for(int i=0;i<L1.length;i++)
  printf("%d ",L1.data[i]);
  return 0;
 }
发布了24 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Wutongyewan/article/details/79647280
今日推荐