![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言(数据结构)
以实际编码为主,通过编码逐渐深化思想,强化算法思维。
Yearn*adn
You're going to steal the top and surprise everyone.你要悄悄拔尖,然后惊艳所有人。
展开
-
将两个递增的有序链表合并为一个递增的有序链表(C语言编程实现)
将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。表中不允许有重复的数据。#include<stdio.h>#include<malloc.h> typedef struct list { int data; struct list * next; //下一个节点地址 }list; //第一条链表 struct list * L=NULL;//头struct list *转载 2021-08-02 13:11:32 · 3881 阅读 · 0 评论 -
C语言程序设计(数据结构)——实现单链表的各种基本运算的算法
main.cpp//==========头文件==============#include<stdio.h>#include<stdlib.h>//=========重定义变量类型============typedef char ElemType;typedef struct LNode{ ElemType data; struct LNode * next;}LinkNode;//=========头插法============void CreateList原创 2020-12-13 11:16:17 · 3184 阅读 · 0 评论 -
C语言程序设计(数据结构)——尾插法
尾插法一开始头指针和尾指针都指向头结点,然后往里边插入元素,每插入一个元素尾指针就后移一下,现在我们的尾指针就指向我们链表中最后一个结点了现在我们开始插入一个新的节点,怎么做呢?我们需要从内存找到一块相应的空间,然后将这个空间的地址存储在,指针变量p当中,这个情况,就称作p指向我们的元素的新节点然后我们将新节点的数据域插入我们想要插入的元素,然后将他的指针域设置为空然后使用尾插法将这个节点插入到我们的链表当中去实际上就是给元素的最后一个节点的指针域赋值,赋值谁呢,,,赋值的值就是我们的p指针原创 2020-12-11 16:20:27 · 8845 阅读 · 0 评论 -
C语言程序设计(数据结构)——头插法
今天给大家分享的是使用头插法创建单链表的方法和原理。头插法顾名思义就是把每个新创建的数据单元放在头结点和首结点之间,这时,新的数据单元就成了新的首结点。原来的首结点就变成了第二个结点。废话不多说了,直接上代码:头文件:#include<stdio.h>#include<stdlib.h>数据类型重定义:typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next;原创 2020-12-06 22:34:34 · 11355 阅读 · 4 评论 -
C语言程序设计(数据结构)——计算一元二次方程
编写一个C语言程序,计算一元二次方程ax^2+bx+c=0的实数根。要求从键盘输入a,b和c,然后再输出解方程的结果。代码如下:#include<stdio.h>#include<math.h>void main(){ float a,b,c,d; printf("请输入方程的系数a,b,c\n"); scanf("%f%f%f",&a,&b,&c); d=sqrt(b*b-4*a*c); if(fabs(d)<0.01) pri原创 2020-12-03 17:43:24 · 5890 阅读 · 0 评论 -
C语言程序设计(数据结构)——sprintf的使用
sprintf指的是字符串格式化命令,函数声明为 int sprintf(char *string, char *format [,argument,…]);,主要功能是把格式化的数据写入某个字符串中,即发送格式化输出到 string 所指向的字符串。sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。解决这个问题,可以考虑使用 snprintf函数,该函数可对写入字符数做出限制。现在使用一个例子来看sprintf的用法:编写一原创 2020-12-03 17:24:22 · 198 阅读 · 0 评论