实验报告 线性表的基本操作及应用 选做内容 归并La和Lb为Lc

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 实验报告 线性表的基本操作及应用 选做内容 归并La和Lb为Lc

选作内容:

线性合并算法的实现。已知顺序表LA和LB中的数据元素按值非递减有序排列,现要将LA和LB归并为一个新的顺序表LC,且LC中的数据元素仍按值非递减有序排序。例如:LA=(3,5,8,11) LB=(2,6,9,15,20)。

实验代码:

#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define FALSE 0
typedef int Status;
typedef float ElemType;
typedef struct LNode
{
  ElemType data;
  struct LNode *next;
 } LNode,* LinkList;
LinkList s,r,P;
Status i;
//创建单链表    尾插法 
void CreatListTail(LinkList &L,Status n)
{
  r=L=(LinkList)malloc(sizeof(LNode));
  L->next=NULL;
  for(i=1;i<=n;++i)
  {
    s=(LinkList)malloc(sizeof(LNode));
    scanf("%f",&s->data);
    s->next=NULL;
    r->next=s;
    r=s;
  }
}
//插入 
ElemType ListInsert(LinkList &L,int  i,ElemType e)
{
  i=i+1;
  Status j;
  P=L;
  j=1;
  while(P&&j<i-1)
  {
    P=P->next;
    ++j;
  }
  if(!P||j>i-1)
  {
    return FALSE;
  }
  s=(LinkList)malloc(sizeof(LNode));
  s->data=e;
  s->next=P->next;
  P->next=s;
  return OK;
}
//查找 
ElemType GetElem(LinkList &L,Status i)
{
  i=i+1; 
  LinkList P;
  Status j;
  P=L;
  j=1;
  while(P&&j<i)
  {
    P=P->next;
    j++;
  }
  return P->data;
}
//打印 
void print(LinkList &L)
{
  LinkList P;
  P=L->next;
  while(P!=NULL)
  {
    printf("%.2f ",P->data);
    P=P->next;
  }
  printf("\n");
}
//合并 
void MergeLisT_L(LinkList &La,LinkList &Lb,LinkList &Lc)
{
  LinkList pa,pb,pc;
  pa=La->next;
  pb=Lb->next;
  Lc=pc=La; 
  while(pa&&pb)
  { 
    if(pa->data<=pb->data)
    { 
      pc->next=pa;
      pc=pa;
      pa=pa->next;
    }else
    {
      pc->next=pb;
      pc=pb;
      pb=pb->next;
    }
  }
  pc->next=pa?pa:pb;
  free(Lb); 
 } 
int main()
{
  Status n,m;
  LinkList La,Lb,Lc,P;
  printf("请输入线性表La节点个数:"); 
  scanf("%d",&n);
  printf("创建单链表La(输入每个结点的数据域):"); 
  CreatListTail(La,n);
  printf("请输入线性表Lb节点个数:"); 
  scanf("%d",&m);
  printf("创建单链表Lb(输入每个结点的数据域):"); 
  CreatListTail(Lb,m);
  MergeLisT_L(La,Lb,Lc);
  printf("线性表La和Lb合并得到Lc:");
  print(Lc);
  return 0;
}

控制台:

image.png

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
7月前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
156 0
|
7月前
|
负载均衡 应用服务中间件 API
Nginx配置文件详解Nginx负载均衡Nginx静态配置Nginx反向代理
Nginx配置文件详解Nginx负载均衡Nginx静态配置Nginx反向代理
189 4
|
26天前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
47 3
|
6月前
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
134 2
|
5月前
|
负载均衡 算法 应用服务中间件
nginx自定义负载均衡及根据cpu运行自定义负载均衡
nginx自定义负载均衡及根据cpu运行自定义负载均衡
105 1
|
5月前
|
运维 负载均衡 算法
SLB与NGINX的异同是什么
SLB与NGINX的异同是什么
557 2
|
7月前
|
负载均衡 应用服务中间件 nginx
解决nginx配置负载均衡时invalid host in upstream报错
在Windows环境下,配置Nginx 1.11.5进行负载均衡时遇到问题,服务无法启动。错误日志显示“invalid host in upstream”。检查发现上游服务器列表中,192.168.29.128的主机地址无效。负载均衡配置中,两个服务器地址前误加了&quot;http://&quot;。修正方法是删除上游服务器列表和proxy_pass中的&quot;http://&quot;。问题解决后,Nginx服务应能正常启动。
576 4
解决nginx配置负载均衡时invalid host in upstream报错
|
6月前
|
JSON 负载均衡 应用服务中间件
Nginx反向代理与负载均衡
Nginx反向代理与负载均衡
|
6月前
|
负载均衡 应用服务中间件 开发工具
技术笔记:nginx和keeplive实现负载均衡高可用
技术笔记:nginx和keeplive实现负载均衡高可用
|
7月前
|
负载均衡 前端开发 应用服务中间件
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400