visual C++ 使用C语言实现快速排序

#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>typedef struct LNode{int data;struct LNode *next;
}LNode,*LinkList;void InitList(LinkList &x);
void ListCreate(LinkList x);
void PrintList(LinkList x);
void MergeList(LinkList LA,LinkList LB,LinkList LC);void main()
{LinkList LA=NULL;LinkList LB=NULL;LinkList LC=NULL;InitList(LA);InitList(LB);InitList(LC);printf("请输入A链表元素:\n");ListCreate(LA);printf("请输入B链表元素:\n");ListCreate(LB);MergeList(LA,LB,LC);printf("归并后的链表元素是:\n");PrintList(LC);
}void InitList(LinkList &x)
{//初始化链表为它分配存储空间x=(LinkList)malloc(sizeof(LNode));x->next=NULL;
}void ListCreate(LinkList x)
{//新建链表int flag=0;char c;LinkList p=NULL,n=NULL;p=x;while(!flag){p=x;flag=1;while((c=getchar())!='\n'){if(isdigit(c)){InitList(n);ungetc(c,stdin);scanf("%d",&n->data);n->next=p->next;p->next=n;p=p->next;}}for(p=x->next;p->next!=NULL;p=p->next){if(p->data>p->next->data){printf("请按顺序输入!\n");flag=0;break;}}}setbuf(stdin,NULL);
}void PrintList(LinkList x)
{LinkList p;for(p=x->next;p!=NULL;p=p->next){printf("%d  ",p->data);}printf("\n");
}void MergeList(LinkList LA,LinkList LB,LinkList LC)
{LinkList i=LA->next,j=LB->next;LinkList p=LC;while(i!=NULL&&j!=NULL){if(i->data<j->data){p->next=i;i=i->next;p=p->next;}else{p->next=j;j=j->next;p=p->next;}}if(i!=NULL){p->next=i;i=i->next;p=p->next;}if(j!=NULL){p->next=j;j=j->next;p=p->next;}
}

C语言实现归并两个链表相关推荐

  1. 每日程序C语言45-连接两个链表

    题目: 连接两个链表 程序分析 可以将后面的链表直接接在第一个链表后面,但是注意,删除第二个链表的头结点再进行删除 主要代码 main.c //创建结点类型 typedef struct Node{i ...

  2. C语言实现合并两个链表 含注释

    本例子实现将两个链表合并,合并后的链表是第一个链表.通过将第二个链表连接到第一个链表的尾部实现.核心思想是:遍历第一个链表直到尾部,记录尾指针,然后将第二个链表连接到第一个链表尾部指针的 next 指 ...

  3. C语言求两个链表的合并点的算法(附完整源码)

    C语言求两个链表的合并点的算法 C语言求两个链表的合并点的算法完整源码(定义,实现,main函数测试) C语言求两个链表的合并点的算法完整源码(定义,实现,main函数测试) #include < ...

  4. C语言怎么合并两个有序链表

    C语言合并两个有序链表的方法:拼接指定的两个有序链表的所有节点即可.例如两个有序链表分别为[1->2->4]和[1->3->4],合并后的有序链表为[1->1->2 ...

  5. C语言经典例74-连接两个链表

    目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 连接两个链表,如有链表A和链表B,将链表B按原顺序接在链表A后面,链表结构为: typedef int ElementType; typed ...

  6. 剑指 Offer 52. 两个链表的第一个公共节点(C语言)

    *输入两个链表,找出它们的第一个公共节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = ...

  7. c语言 如何连接两个程序,C语言连接两个链表程序

    创建两个链表,并这两链表连接起来成为一个链表的示例程序,将以下代码保存到一个源文件中:combine_linked_list.c, 如下所示 – #include #include struct no ...

  8. 判断两个链表是否相交,若相交,求交点。(假设链表可能带环)【升级版】(C语言)

    int IsListCroseWithCycle(PSListNode pL1, PSListNode pL2) {PSListNode pMeetNode1 = HasCycle(pL1);PSLi ...

  9. LeetCode 24.两两交换链表中的节点 C语言

    题目 24.两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2->3- ...

最新文章

  1. 《Python核心编程》第二版第八章练习题答案 第二部分
  2. 使用maxscale数据库中间件解决读负载均衡
  3. linux ce mysql安装_Linux 安装 MySQL 8.0
  4. UE 手游在 iOS 平台运行时内存占用太高?试试这样着手优化
  5. 字符与字符串操作——Windows via C/C++
  6. 2名数学家或发现史上最快超大乘法运算法,欲破解困扰人类近半个世纪的问题...
  7. “龙书”作者斩获图灵奖!谷歌 AI 大神、Swift 之父都受它启蒙
  8. linux help
  9. web of science,SSCI索引,带你入门!
  10. vs2017安装nuget包生成和管理工具
  11. DNS 域名解析系统:CNAME 记录的作用是?
  12. 第一次写前后端分离项目的经验总结
  13. 怎样修改linux(虚拟机)系统开机密码
  14. 齐商银行计算机岗面试题,2018齐商银行社会招聘笔试(真题笔经)
  15. GDI+绘图基础,绘制表格
  16. 《数据结构》课程设计报告
  17. 产品宣传手册是如何制作的?
  18. 关于傅里叶的总结(一)
  19. 蓝桥杯每日一练:报时助手
  20. 《参与感:小米口碑营销内部手册》读书笔记

热门文章

  1. n维椭球体积公式_混凝土工程量计算规则及公式
  2. html div 隐藏滚动条样式,div滚动条样式隐藏与显示
  3. Chrome 被曝 0day 漏洞,可让黑客获取用户数据
  4. 特斯拉车主成功破解了自己Model 3汽车
  5. Day43 前端基础--html
  6. Java练习 SDUT-1230_平方和与立方和
  7. 密码学中经典算法及应用
  8. 【BZOJ4817】【SDOI2017】树点涂色 [LCT][线段树]
  9. 【Networking】gRPC golang 相关资料
  10. 这次,让我们捋清:同步、异步、阻塞、非阻塞