题目:
解题思路:
代码:
#include<stdio.h>
#include<stdlib.h>
#define N 100
typedef struct SequeceList
{
int a[N];
int size;
}SL;
void SLCreate(SL* ps)
{
int n = 0;
scanf("%d", &n);
getchar();
ps->size = n;
for (int i = 0; i < ps->size; i++)
{
scanf("%d", &ps->a[i]);
}
getchar();
}
void SLInsert(SL* ps)
{
int item = 0;
int data = 0;
int i = 0;
scanf("%d", &item);
getchar();
scanf("%d", &data);
getchar();
int m = 0;
for (i = 0; i < ps->size; i++)
{
if (ps->a[i] == item)
{
m = i;//m记录一下i的位置
break;
}
}
if (m == i)
{
//说明找到了
ps->size = ps->size + 1;
int j = ps->size - 1;
while (j > i)
{
ps->a[j] = ps->a[j - 1];
j--;
}
ps->a[i] = data;
}
else
{
ps->size = ps->size + 1;
ps->a[ps->size - 1] = data;
}
}
void SLPrint(SL* ps)
{
for (int i = 0; i < ps->size; i++)
{
printf("%d ", ps->a[i]);
}
}
int main()
{
SL input;
SLCreate(&input);
SLInsert(&input);
SLPrint(&input);
return 0;
}