一、快速排序  一般而言,学习C语言较为简单的排序,则是直接插入排序和冒泡排序。而这两者在数据较大的时候则速度就很慢了。快速排序的速度大于前者并且较为简单,所以写下学习快速排序的过程,供以后复习。  快速排序的原理:    1、快速排序是分治思想,将数列分解排序。    2、具体过程是:先任取一个值作为基准,然后将小于该基准值的数放在该数的左侧,大于该数的数放在右侧。    3、然后就是重复地将左
转载 2023-08-08 11:18:15
67阅读
Docker 的本质是使用 LXC 实现类似虚拟机的功能,进而节省的硬件资源提供给用户更多的计算资源。本项目将 C++ 与 Linux 的 Namespace 及 Control Group 技术相结合,实现一个简易 Docker 容器。 最终效果 最后我们将为容器实现下面这些功能(欢迎点赞关注,后面内容更精彩): 1、独立的文件系统 2、网络访问的支持 3、容器资源的限制
转载 2023-07-11 13:13:07
82阅读
1.首先制作docker镜像:根据本项目语言,基础服务为java、算法两大模块分别使用python、C++语言,要求所使用的docker镜像可以运行jar包、python、C++的可执行程序;预备安装C++可执行文件环境、java环境:由于C++、JAVA环境需要本地文件添加至镜像中,所以需要提前准备;将算法组给的netcdf-c-4.9.0.tar.gz和算法可执行文件放在同一文件夹下,通过写d
C语言——程序实现过程一段代码要实现,会经过编译,汇编,链接,变成可执行程序,由我们用户使用。程序的执行过程中有两个环境存在,一个是翻译程序环境,一个是执行代码环境,两个环境的不同就在于,先将代码翻译成我们的二进制文件供计算机阅读,然后计算机根据翻译的内容,执行相应的操作。程序的编译程序的编译分为几个阶段,总结一下,就是将C代码转换成汇编代码,然后会进行代码的分析,就像语法分析,词法分析,语义分析
文章目录一、面向对象的三个基本特征1.1 封装1.2 继承1.3 多态二、C语言实现封装2.1 成员变量定义和访问控制2.2 对象的创建和删除2.3 成员函数的访问控制三、C语言实现继承3.1 子类继承父类成员变量3.2 子类使用父类成员函数四、C语言实现多态4.1 基类中增加虚表指针4.2 虚表的构建和初始化4.3 利用虚表实现多态4.4 代码仓库 一、面向对象的三个基本特征1.1 封装封装就
转载 2023-08-30 11:20:14
91阅读
 目录一、冒泡排序二、平均滤波1.中位值平均滤波法2.递推平均滤波法3.算术平均滤波法一、冒泡排序1.定义它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来,直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序。假设需要排列的数组为a[4]={7,23,6,8}用冒泡排序对这四个数排序,需要进行(4-1)轮比较,
#include<stdio.h>char *_strcpy(char *dst,const char *src){    while(*(src)!='\0')    *(dst++)=*(src++);    *dst='\0';}//以上内容也可以用如下方法实现:char *_strcpy(
原创 2010-05-31 09:51:54
1065阅读
最近搞MTK斯凯冒泡平台的游戏开发,碰到了自动寻路的问题,很多程序员都知道A*算法,既简单有使用! 所以我也选择了A*算法,由于时间比较紧,就在网上百度此算法的C实现,确实有很多! 但经测试都有不同的问题,并不能用在商业游戏中,所以最后决定还是自己写吧! A*原理 比较简单,网上有很多介绍的!我也是在网上看的,这里就不重复了! 由于我是Java程序员刚开始搞嵌入式C开发不久,所以有很多C用法不是很熟悉,通过搞这个算法又知道不少知识 比如 Java里的集合   C里要用链表 这也是此算法比较重要的一个技术点,遍历链表,还有删减节点,这些对于C程序员来说应该都是很简单的事情, 这里还是说一下,以便那些从JAVA转入C开发的程序员快速理解
推荐 原创 2011-06-17 15:04:20
3589阅读
3点赞
4评论
什么是数据结构?数据结构是什么?要了解数据结构,我们要先明白数据和结构,数据就是一些int char 这样的变量,这些就是数据,如果你是一个篮球爱好者,那么你的球鞋就是你...
原创 2021-07-29 16:49:54
187阅读
什么是队列?上一篇文章写了什么是栈,用C语言实现了栈,既然说了栈,不说队列,感觉总是少了点什么,所以就顺手写一个队列,而且最近做项目也用到这个队列的代码。栈的特点是先进后...
原创 2021-07-29 16:55:54
276阅读
#pragma once#includetypedef int DataType;typedef struct SListNode{ DataType data; struct SListNode * next;}SListNode;SListNode* _BuyNode(DataType x){ SListNode
原创 2022-09-02 13:46:31
58阅读
尽管有许多的争议,但我还是觉得 C++ 中的 RAII 惯用法是个好东西,也是写 C 代码时唯一怀念的 C++ 特性。下面是一些 C 语言实现 RAII 的方法: gcc GCC 上可以使用cleanup 扩展实现 Windows Windows 下可以使用SEH的__try/__finally,话
原创 2021-10-22 14:09:26
85阅读
hashmap C语言实现cheungmine源代码(适合Linux和Windows)包括:    hashmap.c    hashmap.hMSVC测试文件:     main.c下面是源代码,最初来自github,我改写了几个地方,并重写了全部测试代码.没有内存泄露,请放心使用./** * hashmap.h */#ifndef _HASHMAP_H_INCLUDED#define
原创 2023-01-10 19:39:46
955阅读
新建ElemType.h#ifndef _DATA_H#define _DATA_Htypedef int ElemType;#endif新建statck.h#include "Elemtype.h"#ifndef _S
原创 2022-06-06 17:24:49
93阅读
一、链表的概念与结构链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑结构是通过链表中的指针链接次序实现的。下面是链表结构的逻辑图:1、从上图可以看出,链式结构在逻辑上是连续的,但是在物理结构上不一定连续。2、链表中节点使用的空间一般都是从堆上申请的。3、从堆上申请的空间,是按照一定的策略来分配的,两次申请的空间可能连续也可能不连续。二、链表的分类1、单向或者双向2、带头或者不带头3
原创 精选 2023-05-13 11:25:25
297阅读
/* * main.c * 队列 *  Created on: Oct 29, 2010 *      Author: jenson */#include <stdlib.h>#include <stdio.h>#define MAX 10void init(int
原创 2010-10-29 22:22:36
1810阅读
1点赞
/* * main.c * 埃拉托色尼筛法 *  Created on: Nov 6, 2010 *      Author: jenson */#include <stdio.h>#define N 10000int main(){    int
原创 2010-11-06 13:59:09
3300阅读
1.字符串管理模块: 这个文件主要实现了能够自动扩展并灵活拼接的字符串类型,具体作用可以参考C++的string类型作用。 /*stringutils.h*/ #ifndef STRINGUTILS_H #define STRINGUTILS_H #include<stdlib.h> typedef
转载 2019-12-26 14:18:00
251阅读
学习记录
原创 2023-02-28 22:40:00
104阅读
学习记录
原创 2023-02-28 22:40:00
144阅读
  • 1
  • 2
  • 3
  • 4
  • 5