数据结构C语言单链表的创建,插入删除和合并程序代码

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语言程序代码

你看这个应该满足要求吧。我把三种循环方式都用上了:
#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++;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

数据结构C语言单链表的创建,插入删除和合并程序代码
你看这个应该满足要求吧。我把三种循环方式都用上了: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...

你好,数据结构(C语言)中实现有序链表的插入,删除结点基本操作,及两个有...
void creat(); \/\/建立单向动态链表。此函数带回一个指向链表头的指针,用于参赛选手的录入void del(); \/\/用于删除结点,用于参赛选手的删除void search(); \/\/参赛选手成绩的查询void print(); \/\/用于输出链表void rank(); \/\/按个人平均成绩从高到低的顺序进行排序void update(); \/\/参赛选手的修改void menu(...

c语言数据结构单链表的初始化 插入 销毁 元素的取出 删除 操作 求详细C...
typedef struct node { int nDate;struct node *pstnext;}Node;\/\/链表输出 void output(Node *head){ Node *p = head->pstnext;while(NULL != p){ printf("%d ", p->nDate);p = p->pstnext;} printf("\\r\\n");} \/\/链表建立 Node* creat(){ Node *head = NULL, *p = NULL...

c语言 链表操作:建立,显示及节点的插入,删除
\/\/ 逆位序输入(随机产生)n个元素的值,建立带表头结点的单链线性表L LinkList p;int i;L = (LinkList)malloc(sizeof(LNode));L->next = NULL; \/\/ 先建立一个带头结点的单链表 for (i=n; i>0; --i){ p = (LinkList)malloc(sizeof(LNode)); \/\/ 生成新结点 p->data =...

C语言实现单链表的建立、输入、插入、删除、查找元素并返回位置_百度知 ...
\/ 时间:2010年8月28日17:19:49 功能:C语言实现单链表的建立、输入、插入、删除、查找元素并返回位置 \/ include"stdio.h"include"stdlib.h"include"malloc.h"\/*假设输入的数据为3个--我比较好操作-_-*\/ define size 3 typedef struct List { int num;int shuju;struct List *next;}list;\/...

用C语言编写链式存储结构下实现线性表的创建,插入,删除,按值查找
int data;\/\/链表数据 struct LNode* next;\/\/链表指针 }LNode,*LinkList;\/*头插法-建立单链表*\/ LinkList HeadCreate(LinkList la){ int num;la=(LinkList)malloc(sizeof(LNode));\/\/建立头结点 la->next=NULL;scanf("%d",&num);while(num!=10){ LNode *p=(LinkList)malloc(sizeof(...

编写算法将单链表的创建,删除和插入用C语言实现
NULL);插入:代码如下:int Insert_LinkList(LinkList H,int i,ElemType x)\/*在链表H中第i个位置插入一个为X的元素*\/ { LNode p,*s;p=Get_LinkList(H,i-1);if (p==NULL){ printf("插入位置 i 出错");return ERROR;} else {s=(LinkList)malloc(sizeof(LNode));s->data=x;...

c数据结构 实现单链表的创建、插入、删除、打印和查询
cout<<"请输入一串单字符数据,以*结束!"<<endl;char ch;link *HEAD;link *R,*P,*L;HEAD=(link *)malloc(sizeof(link));HEAD->next=NULL;R=HEAD;getchar();ch=getchar();while(ch!='*'){ P=(link *)malloc(sizeof(link));P->data=ch;P->next=NULL;R->next=P;R=R->next...

...C语言程序,内容是建立一个链表,还有链表的插入与删除。
int listdelete(linklist &l,int i)\/\/在带头节点的单链表中删除第i个元素e,并返回其值 { int j=0;linklist p;p=new lnode;p=l;while(p->next&&jnext;++j;} if(!(p->next)||j>i-1){return 0;} linklist q;q=new lnode;q=p->next;p->next=q->next;m=q->data;free(q...

数据结构作业~急求~~~用c语言或c++ 使用单链表实现系统进程列表,完成...
这样就定义了一个单链表的结构,其中char name[20]是一个用来存储姓名的字符型数组,指针*link是一个用来存储其直接后继的指针。定义好了链表的结构之后,只要在程序运行的时候爱数据域中存储适当的数据,如有后继结点,则把链域指向其直接后继,若没有,则置为NULL。下面就来看一个建立带表头(若未...

相似回答