一倒关于数据结构的题(c 语言)

来源:百度知道 编辑:UC知道 时间:2024/05/29 07:42:55
实现用户通过键盘输入一组数,并输入一个需要插入的数,和插入的位置,完成整个插入。例,输入1,2,3,4再输入5,3。最后程序运行结果为1,2,5,3,4。
注:求算法、程序

#include<stdio.h>
#include<malloc.h>

struct element
{
int num;
struct element * next;
};

void insertElement(int a,int b,struct element * head)
{
struct element * ptr = (struct element * )malloc(sizeof(element));
ptr->num = a;

if(b == 0)
{
ptr->next = head->next;
head->next = ptr;
}
else
{
while(b>1)
{
head = head->next;
b--;
}
ptr->next = head->next->next;
head->next->next = ptr;
}
}

void printElement(struct element * head)
{
head = head->next;
while(head)
{
printf("%d ",head->num);
head = head->next;
}
printf("\n");
}

int main()
{
int i;
struct element * ptr,* head = (struct element * )malloc(sizeof(element));

for(i=1;i<5;i+