数据结构C语言单链表的创建,插入删除和合并程序代码
1.完成线性表的链式存储及基本操作的实现(单链表创建、插入、删除、判断是否为空等功能);2.实现两个有序表的合并功能。创建La,Lb,将La,Lb合并成Lc,输出合并后L...
1. 完成线性表的链式存储及基本操作的实现(单链表创建、插入、删除、判断是否为空等功能);
2. 实现两个有序表的合并功能。创建La,Lb,将La,Lb合并成Lc,输出合并后Lc。
3.对Lc进行插入、删除操作,输出操作结果。
五、实验要求及步骤
(1)实现单链表表创建、插入、删除、输出等算法。
CreateList_L(LinkList &L);
InsertList_L(LinkList &L,int i,Elemtype e );
DeleteList_L(LinkList &L,int i, Elemtype &e );
Print(LinkList L);
(2)实现两个有序单链表合并算法。
MergeList(LinkList La, LinkList Lb, LinkList &Lc);
(3)主函数中调用以上算法,完成如下功能:
①建立单链表La(逆位序或正位序均可),并输出。
②建立另一个单链表Lb,并输出。
③调用合并算法,将La,Lb合并成Lc,输出合并后Lc。
④输入插入位置及元素值,完成Lc插入操作,并输出插入后单链表值。
输入删除元素位序,完成Lc删除操作,输出删除元素值及删除后单链表。
求大神们给出C语言程序代码 展开
2. 实现两个有序表的合并功能。创建La,Lb,将La,Lb合并成Lc,输出合并后Lc。
3.对Lc进行插入、删除操作,输出操作结果。
五、实验要求及步骤
(1)实现单链表表创建、插入、删除、输出等算法。
CreateList_L(LinkList &L);
InsertList_L(LinkList &L,int i,Elemtype e );
DeleteList_L(LinkList &L,int i, Elemtype &e );
Print(LinkList L);
(2)实现两个有序单链表合并算法。
MergeList(LinkList La, LinkList Lb, LinkList &Lc);
(3)主函数中调用以上算法,完成如下功能:
①建立单链表La(逆位序或正位序均可),并输出。
②建立另一个单链表Lb,并输出。
③调用合并算法,将La,Lb合并成Lc,输出合并后Lc。
④输入插入位置及元素值,完成Lc插入操作,并输出插入后单链表值。
输入删除元素位序,完成Lc删除操作,输出删除元素值及删除后单链表。
求大神们给出C语言程序代码 展开
1个回答
2018-04-10 · 知道合伙人互联网行家
关注
展开全部
你看这个应该满足要求吧。我把三种循环方式都用上了:
#include<stdio.h>
#include<math.h>
int isprime(int n)
{
int i,t;
if(n==2)
return 1;
if(n%2==0 || n<2)
return 0;
for(i=3,t=(int)sqrt(n);i<=t;i+=2)
{
if(n%i==0)
return 0;
}
return 1;
}
void main()
{
int i,a,n;
i=0;
do
{
printf("Input an integer (>=1):");
scanf("%d",&a);
if(a>=1)
break;
}while(++i<3);
if(i==3) exit(0);
printf("prime submultiples:\n");
i=1;
n=0;
while(i<=a)
{
if(a%i==0)
if(isprime(i))
{
printf("%d ",i);
n++;
if(n%10==0)
printf("\n");
}
i++;
}
#include<stdio.h>
#include<math.h>
int isprime(int n)
{
int i,t;
if(n==2)
return 1;
if(n%2==0 || n<2)
return 0;
for(i=3,t=(int)sqrt(n);i<=t;i+=2)
{
if(n%i==0)
return 0;
}
return 1;
}
void main()
{
int i,a,n;
i=0;
do
{
printf("Input an integer (>=1):");
scanf("%d",&a);
if(a>=1)
break;
}while(++i<3);
if(i==3) exit(0);
printf("prime submultiples:\n");
i=1;
n=0;
while(i<=a)
{
if(a%i==0)
if(isprime(i))
{
printf("%d ",i);
n++;
if(n%10==0)
printf("\n");
}
i++;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询