C语言实现九大排序算法

C语言实现九大排序算法 C语言实现九大排序算法 直接插入排序 折半插入排序 希尔排序 冒泡排序 快速排序 直接选择排序 堆排序 归并排序 基数排序 直接插入排序 将数组分为两个部分,一个是有序部分,一个是无序部分。从无序部分中依次取出元素插入到有序部分中。过程就是遍历有序部分,实现起来比较简单。 # ... »

面试官:手撕十大排序算法,你会几种?

欢迎访问博主个人网站,记得收藏哦,点击查看 - - - >>>> 原文链接:面试官:手撕十大排序算法,你会几种? 演示地址:点击查看演示 在前面三期,介绍了动态规划的两个主要特性:交叠子问题和最优子结构,并用七种方式求解第n项斐波那契数,感受了算法的强大,你是否也领略到它的精髓呢? 《深入浅出理解动 ... »

案例展示自定义C函数的实现过程

摘要:用户在使用数据库过程中,受限于内置函数的功能,部分业务不易实现时,可以使用自定义C函数实现特殊功能。本文通过两个示例展示自定义C函数的实现过程。 前言 用户在使用数据库过程中,常常受限于内置函数的功能,部分业务不易实现,或实现后性能较差,在这些场景出现时可以考虑使用C编写自定义函数来实现独立功 ... »

小议缓冲区溢出

最近一个朋友学习信息安全方面的知识,然后发来一题和我一起讨论,虽然觉得简单,但是实际还是有点意思的,就拿出来一起看看。题目如下: 从图中可以看到一段C语言的代码,还能看到3个问题。这里我把代码提出来,代码如下: 1 #include <stdio.h> 2 3 int main(int argc, ... »

C语言基础-C简介

C语言简介 C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现。 在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie ... »

C语言编程入门之--第六章C语言控制语句

导读:本章带读者理解什么是控制语句,然后逐个讲解C语言常用的控制语句,含有控制语句的代码量多起来后就要注意写代码的风格了,本章末节都是练习题,大量的练习才能掌握好控制语句的使用。 6.1 什么是控制语句 翻回第一章,当时为了讲解计算机程序,举了一个打酱油的例子: 第一种做法:首先要准备好100块钱, ... »

空间换时间,查表法的经典例子

前言 上一篇分享了:C语言精华知识:表驱动法编程实践 这一篇再分享一个查表法经典的例子。 我们怎么衡量一个函数/代码块/算法的优劣呢?这需要从多个角度看待。本篇笔记我们先不考虑代码可读性、规范性、可移植性那些角度。 在我们嵌入式中,我们需要根据实际资源的情况来设计我们的代码。比如当我们能用的存储器空 ... »

浅谈链接器

链接器是一个将编译器产生的**目标文件打包**成可执行文件或者库文件或者目标文件的程序。 链接器的作用有点类似于我们经常使用的压缩软WinRAR(Linux下是tar),压缩软件将一堆文件打包压缩成一个压缩文件,而链接器和压缩软件的区别在于链接器是将多个目标文件打包成一个文件而不进行压缩。 ... »

快速复习C语言 - 1变量与运算符

本篇为快速复习C语言系列之第一篇:变量与运算符。由于是复习用,所以并非针对完全零基础的同学。当然,有其他编程底子的同学是可以的。 本篇着重讲述运算符,特别是位运算。对于十分基础的变量定义只是一笔带过。 ... »

2020年你最需要掌握的11种编程语言

编程语言是程序员们的老朋友,据统计,世界上一共有600多种编程语言,那么最常用的,我们最应该掌握的都有哪些?根据openPR上发表的《编程语言全球市场调研报告及2018-2023预测》,推荐程序员掌握的编程语言有以下11种(按字母顺序排列)。 C/C++ 根据 TIOBE 2020年5月的报告,C语 ... »

排序算法之冒泡排序

冒泡排序 前置知识 确定数组需要传入两个参数: 数组的首地址和数组元素的个数 冒泡规则,假设一个 int a[5] 的数组,升序规则如下 ​ 第一次排序 : 1. a[0]与a[1]比较,大的值放在a[1],小的值放在a[0]; 2. a[1]与a[2]比较,大的值放在a[2],小的值放在a[1]; ... »

15分钟让你了解如何实现并发中的Barrier

说到Barrier,很多语言中已经是标准库中自带的概念,一般情况下,只需要直接使用就行了。而最近一些机缘巧合的机会,我需要在c++中使用这么个玩意儿。但是c++标准库里还没有这个概念,只有boost里面有这样现成的东西,而我又不想为了这么一个小东西引入个boost。所以,我借着这个机会研究了下,发现 ... »

c语言指针汇总

1.指向单个变量的指针; 2.数组的指针 (1)一维数组的指针 (2)二维数组的指针 (1)列指针 (2)行指针 (指向数组的指针) 3.指向函数的指针 4.指向指针的指针(有时候在想前面的*是不是可以无限写下去……) 5.指针数组 6.返回指针值的函数 7.文件指针 FILE *fp; 这里用词不 ... »

C语言编程入门之--第四章C语言基本数据类型

导读:C语言程序中经常涉及一些数学计算,所以要熟悉其基本的数据类型。数据类型学习起来比较枯燥,不过结合之前的内存概念,以及本节的字节概念,相信数据类型也就不难理解了。本章从二进制的基本概念开始,然后介绍机器语言通用的计算单位字节,最后再介绍C语言中基本的数据类型及其基本概念。 4.1 二进制、字节 ... »

C语言编程入门之--第三章编写第一个C语言程序

第三章 编写第一个C语言程序 导读:一般学一门计算机语言的第一堂上机课(“上机”顾名思义,上了计算机),就是往屏幕输出“hello world”,本章也不例外。 1.1 Hello,World! 这一节和读者一起来编写第一段C语言程序,过程详细到令人发指。 1.1.1 创建C语言源码文件 打开 De ... »

C语言编程入门之--第二章编译环境搭建

第二章 编译环境搭建 导读:C语言程序如何工作,首先需要编译链接成可执行文件,然后就可以运行在不同的环境中,这个“环境”的意思就是比如说,电脑,手机,路由器,蓝牙音箱等等智能设备中,其中编译器启到了关键的桥接作用。本章主要先从C语言编译的全过程开始分析,然后介绍常用的编译器工具,最后介绍本系列博客使 ... »

C语言编程入门之--第一章初识程序

第一章 初识程序 导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言程序进行比较,说明作为一个C语言程序员需要具备的基本理论知识,本章末端简单的描述windows中一个 ... »

置顶:关于本博客(尤其是文章版权)

目录 一、我的C语言答疑课程二、文章版权说明三、本专栏文章合集四、内容合作事宜五、我的C语言答疑平台信息六、我的C语言教学理念 一、我的C语言答疑课程 1、“C语言就是这么简单”课程系列 1. C语言入门课程名:你可以这样学习C语言学习地址:今日头条专栏: 你可以这样学习C语言 2. C语言指针课程 ... »