C语言
尼克选手
这个作者很懒,什么都没留下…
展开
-
C++实现二叉搜索树
一、 概念 1. 性质 二叉搜索树是数据结构中树形结构一种。它或者是一棵空树,或者具有以下特性: a.若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 b.若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 c.它的左、右子树也分别为二叉搜索树 下图1 为一个搜索二叉树:图1 二叉搜索树实例 对这个二叉树进行中序遍历的结果为:0 1 2 3 ...原创 2020-07-14 15:16:06 · 2035 阅读 · 3 评论 -
二叉树的创建、销毁、前序遍历、中序遍历、后序遍历、等基本操作C语言实现
一、 简单概念 一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。 二叉树的特点: 1. 每个结点最多有两棵子树,即二叉树不存在度大于2的结点。 2. 二叉树的子树有左右之分,其子树的次序不能颠倒。 下图为几种树的节点的可能情况:图1 二叉树的5种基本形态 主要的概念有二叉树的性质、二叉树的存储结构、二叉树的遍历,具体概念内...原创 2020-05-15 11:47:44 · 2057 阅读 · 1 评论 -
数据结构——双向循环链表的增删查找用C语言实现
一、 双向循环链表 带头双向循环链表是链表中结构较为复杂的一种,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后面我们代码实现了就知道了。 首先,顾名思义,一个双向链表的节点中有一个数据域和两个指针域,其一个指针(next)指向后继,另一个指针(prior)指...原创 2020-04-16 15:20:17 · 715 阅读 · 0 评论 -
数据结构与算法——用C语言实现链表的初始化、增加节点、删除节点、查找节点等
最近自己学习了线性表的链式表示和实现,其相关概念在《数据结构》——严蔚敏,教材中有详细的介绍。该篇文章主要是利用c语言中的结构、指针等知识来实现链表的增、删、查、找的功能。一 、 首先,链表中每个节点可定义为以下结构形式,如下:typedef int Type; // 用Type代替 int, 方便修改数据类型// 定义一个结构体类型,为一个链表节点t...原创 2020-04-05 22:41:19 · 1645 阅读 · 0 评论 -
C语言来实现一个简单的通讯录
问题要求: 使用C语言实现一个通讯录,通讯中每个人的信息包括:姓名、性别、年龄、电话、住址 通讯录需要实现以下功能:添加联系人信息 删除指定联系人信息 查找指定联系人信息 修改指定联系人信息 显示所有联系人信息 清空所有联系人 以名字排序所有联系人 另外要求:a 当通讯录的人数容量满时自动扩充容量. b 每次对通讯录内容的更新都要自动保存至本地的磁盘文件,...原创 2020-03-27 13:27:44 · 1398 阅读 · 0 评论 -
C语言——判断/计算结构体大小
一、 结构体回顾 C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,就称为结构体(structre),在其他一些高级语言中称为“记录”(record)。结构体举例:struct S1 { long a; char b; int c; }; // 注意分号不能省略 那么我们如何判断这个结构体所占内存的大小呢??? 在32位机...原创 2020-03-13 22:54:21 · 1770 阅读 · 0 评论 -
C 语言与指针 , 指针部分笔试题目及解析
一 、 回顾两个定义在开始讲解题目之前先回顾一下两个概念,数组指针和指针数组。数组指针,即数组的指针,是指针,其内容指向一个数组。例: int(*)p[5] 即为指向数组的指针,称数组指针。指针数组,即数组元素全为指针的数组。例: int *p[5] 有5个指针类型的数组元素。二 、 C与指针题目 1. 下列程序的输出结果?int main(){int a[5] ...原创 2020-03-06 22:01:36 · 461 阅读 · 0 评论 -
找凶手: A说不是我; B说是C; C说是D;D说C在胡说。 猜名次:A说B第二,我是第三;B说我是第二,E是第四... ...
本篇博客将对两个问题进行模拟实现,一个是 找凶手;一个是猜名次。具体问题如下描述:(1)找凶手 某谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词:A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。(2)猜名次 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:A选手说:B第二,我第三;B选手说:我第二,E第四 ... ...原创 2020-03-03 11:45:12 · 2069 阅读 · 0 评论 -
内存VS外存 、 整数在内存中的存储、大小端字节序
内存和外存:计算机(冯.诺伊曼体系)中重要的一部分。 冯.诺伊曼体系如图1: 图1 冯.诺伊曼体系内存和外存的区别:...原创 2020-03-01 22:12:47 · 536 阅读 · 0 评论 -
输出数组最短无序子数组
问题描述: 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序,即输出数组得最短无序子数组。思路: 既然要成为升序排列,那么数组第一个元素为最小值,最后一个元素为最大值;再依次判断第二个、第三个......是否依次升序,倒数第二个、倒数第三个......是否为依次降序,如果不是按依次大小排列得顺序,则返回下标值。代码实现:#in...原创 2020-02-23 16:22:59 · 151 阅读 · 0 评论 -
数组元素的移动和删除
问题1 给定一个数组,将数组忠某个元素向右移动K个位置,k为非负数。思路 : 首先创建一个数组,并打印;然后进行数组元素的交换,从被指定的移动的第n个元素开始一次向后进行元素交换,交换次数为元素移动的位数。代码实现:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#d...原创 2020-01-30 10:30:29 · 1167 阅读 · 0 评论 -
结构体—初阶
结构体(struct)在C语言中用于处理多个单一数据组成的数据集合。在复杂的数据处理中,结构体是必不可少的。1. 结构体声明 struct 结构体名{ 数据类型1 结构体成员1; 数据类型2 结构体成员2; ..... }; eg : struct Student { ...原创 2019-12-20 19:56:32 · 173 阅读 · 0 评论 -
C语言——初学指针
1. 指针的定义:指针是一种数据类型,用来表示内存的地址。即表示内容地址的数据类型就是指针类型。 定义方式: 数据类型名* 指针变量名 eg:char* cp; int* p; ..... 由以下代码可直观了解指针的定义内容。#define _CRT_SECURE_NO_W...原创 2019-12-11 15:21:58 · 229 阅读 · 0 评论 -
使用函数输出 1. 随意大小乘法口诀 2.数字交换 3.判断闰年 4.判断素数等
问题1 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,如:输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。代码实现如下:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h> // ...原创 2019-11-21 14:46:42 · 138 阅读 · 0 评论 -
指定数组折半法查找元素; 输出水仙花数; 输出*****的指定形状
问题 1 . 在指定数组中采用折半法查找元素其代码实现如下:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int Binarysearch(int arr[], int size, int tofind) { //自定义函数 int left = 0; int...原创 2019-11-14 11:12:31 · 181 阅读 · 0 评论 -
求两个数的最大公约数 / 掀门帘字幕
问题1. 用 C 语言求出两个数的最大公约数 问题分析: 最大公约数也称最大公因子,指两个或多个整数共有约数中最大的一个。即,找出两个数中最大的一个共有因子。 项目思路: 首先,将两个从小到大排序;然后,分别用较大和较小的数去除小数;然后,从小数开始递减直到两个数的余数都为零,其数为最大公约数。 代码实现:#define _CRT_SECURE...原创 2019-11-08 23:54:42 · 145 阅读 · 0 评论