- 博客(25)
- 收藏
- 关注
原创 线性表的链式存储结构
链表的一些基本概念为了表示每个数据元素ai与其直接后继数据元素ai+1之间的逻辑关系,对数据元素ai来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。数据域:我们把存储数据元素信息的域称为数据域。 指针域:存储直接后继位置的域称为指针域。 指针/链:指针域中存储的信息称做指针或链。 结点(Node):数据域与指针域这两部分信息组成数据元素ai的...
2018-07-25 16:55:49 335
原创 线性表的顺序存储结构
线性表(List):零个或多个数据元素的有限序列。线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。线性表的毎个数据元素的类型都相同,所以可以用C语言(其他语言也相同)的一维数组来实现顺序存储结构,即把第一个数据元素存到数组下标为0的位置中,接着把线性表相邻的元素存储在数组中相邻的位置。线性表的顺序存储的结构体定义为: 描述顺序存储结构需要三个属...
2018-07-25 16:42:19 7772 1
原创 动态内存开辟 malloc calloc realloc free 函数
malloc和free1.void* malloc (size_t size)这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。-如果开辟成功,则返回一个指向开辟好的空间指针。-如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。-返回值的类型是void*,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。-如果参数size为0,m...
2018-06-10 23:09:21 229
原创 自定义类型
>结构体类型创建 结构体类型创建结构体是一些(具有相同或不同元素类型)值的集合,这些值成为成员变量。结构体的每个成员可以是不同类型的变量 。结构体的声明:例:(描述一个学生)[html] view plain copystruct Stu { char name[20]; int age; };//分号不能丢 结构体的成员可以是标量、数组、指针,甚至可以使其他结构体...
2018-06-10 22:52:01 553
转载 学习如何使用命令安装gcc/g++, gdb, vim
Linux下使用gcc来编译C语言程序,使用g++来编译c++程序,使用gdb来调试程序,这些使用工具都需要自己进行安装,那么它们是如何进行安装的?首先在命令行中输入vi进行查看vim的信息如下,然后输入ls -a查看是否存在.vimrc和.viminfo这样的配置文件,结果如下: 我们在执行ls -al命令查看以.开头的隐藏文件看是否有.vimrc文件,结果是没找到,如果没有该文件 在当前用户的...
2018-06-10 22:42:33 240
转载 重要命令du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password
一、du命令du命令也是查看使用空间的,但与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间进行查看,还是和df命令有一些区别的。1)语法:du 【选项】【文件】2)功能:显示每个文件和目录的磁盘使用空间。3)命令参数:-a或-all 显示目录中个别文件的大小。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或--total 除了显示个别目录或文件...
2018-06-10 22:35:54 268
原创 Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp
proc文件系统是一个 伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统 内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变 内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统 内核读出所需信息并提交的。/sys 文件系统访问Linux内核。/sys目录是...
2018-06-10 22:31:25 168
原创 进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.
基本权限:1.读权限(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。2.写权限(w/2):Write对文件而言,具有修改文件内容的权限;对文件目录来说,具有删除移动目录内文件的权限。3.执行权限(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。在linux下,文件权限值是怎么表示的呢?r--:只读权限 ...
2018-06-10 22:21:54 345
原创 时间复杂度、空间复杂度及二分查找、斐波那也数分析
时间复杂度 时间复杂度实际是一个函数,该函数计算的是执行基本操作的次数时间复杂度计算方法(1)数次数(2)O()1. 用常数1取代运行时间中的所有加法常数2. 只保留最高项3. 最高项系数不为1的改为1注意:选取最坏时间复杂度即选取增长最快的项递归的时间复杂度=递归总次数*每次递归中基本操作所执行是次数 空间复杂度 函数中创建对象的个数关于问题规模表达式不是计算实际占用的空间,而是计算整个算...
2018-05-25 22:05:23 490
原创 数组指针、指针数组、函数指针、函数指针数组、指向函数指针数组的指针
指针数组 指针数组是数组每一个元素均为指针的数组,其本质为数组。数组指针数组指针是指向数组首元素的地址的指针,其本质为指针(这个指针存放的是数组首地址的地址,相当于2级指针,这个指针不可移动)。函数指针 函数指针是指向函数的指针变量,即本质是一个指针变量。指针函数指针函数是指带指针的函数,即本质是一个函数,函数返回类型是某一类型的指针首先它是一个函数,只不过这个函数的返回值是一个地址值。...
2018-05-25 08:08:43 307
原创 0基础学编程之用函数初始化清除以及逆置数组
创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。#include<stdio.h>void init(int arr[],int sz){ int i=0; int t=0; printf("初始化数组,请输入十个数\n"); for(i=0; i<sz; i++) ...
2018-04-02 22:17:14 179
原创 0基础学编程之操作符的认识
操作符 分类:算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下标引用、函数调用和结构成员 算术操作符+ - * / %1. 除了%操作符之外,其他的几个操作符可以作用于整数和浮点数。2. 对于/操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。3.%操作符的两个操作数必须为整数。返回的是整除之后的余...
2018-03-31 20:22:43 193
原创 0基础学编程之猜数字游戏,折半二分查找,模拟输入密码及大小写互换
1.完成猜数字游戏。 #include<stdio.h>#include<stdlib.h>#include<time.h>void menu(){ printf("*****************\n"); printf("*****************\n"); printf("***1.PLAY GAME***\n"); printf("***
2018-03-29 22:20:59 304
原创 0基础学编程之输出菱形,水仙花数,计算某个数字的前n项和,检测花括号是否成对出现
1.在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* *********** ********* ******* ***** *** * #include <stdio....
2018-03-28 19:23:47 209
原创 0基础学编程之交换两个等长数组的内容
#include<stdio.h>int main(){ int arr1[]={1,2,3,4,5,6,7}; //创建两个等长的数组 int arr2[]={2,3,4,5,6,7,8}; int i=0; int sz=sizeof(arr1)/sizeof(arr1[0]); //定义sz,方便使用数组长度 for(i=1; i<sz; i++) ...
2018-03-24 23:03:54 211
原创 0基础学编程之输出1到 100 的所有整数中出现多少次数字9
#include<stdio.h>int main(){ int i, j=0; for (i=1; i<=100; i++) { if(i%10 == 9) //个位是9 j++; if(i/10 == 9) //十位是9 j++; } printf("%d\n", j); return 0;}运行结果
2018-03-24 22:58:37 445
原创 0基础学编程之计算1-1/2+1/3-...-1/100
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值#include<stdio.h>int main(){ int i=0, j=1; double sum=0.0; for(i=1; i<=100; i++) //控制循环 { sum=sum + j * (1.0/i); //求和 j = (-j); ...
2018-03-24 22:56:20 2951 1
原创 0基础学编程之交换变量
1.创建临时变量 假设有三个瓶子 一个空的 一个装醋 一个装酱油 现在想用装酱油的瓶子装醋,装醋的瓶子装酱油。首先把醋倒进空瓶子,然后把酱油倒进原来的装醋的瓶子,再把醋倒进原来装酱油的瓶子,就实现了交换。2.不创建临时变量 采用异或 或者乘除和差的方法 这里是使用的是异或的方法3.使用函数实现两个数的交换源代码1.#include<stdio.h>int main(){ ...
2018-03-21 22:59:58 449
原创 0基础学编程之最大公约数(辗转相除法)
//求最大公约数的方法:辗转相除法//辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。//例如,求(319,377)://∵ 319÷377=0(余319)//∴(319,377)=(377,319);//∵ 377÷319=1(余58)//∴(377,319)=(319,58);//∵ 319÷58=5(余29)//∴ (319,58)=(58,29);//∵ 58...
2018-03-21 22:50:20 587
原创 基础学编程之三个数顺序排序
方法1:用for循环 即先假设第一个数就是最大值,拿这个数与其他数一个一个的进行比较,大的赋给第一个数,然后拿第二个数与,剩下的数一个一个的比较,把大的值赋给第二个。以此类推。当然三个数用这种方法显得有点繁琐。方法2:只用if语句代码1:#include<stdio.h>int main(){ int i, j, t; int arr[2]; printf("请输入三个整数\n"); ...
2018-03-21 22:04:49 1310
原创 0基础学编程之输出十个数中的最大值
#include<stdio.h>int main(){ int i, t; int a[10]; //创建一个数组 { printf("请输入十个整数\n"); for(i=0; i<10; i++) { scanf("%d", &a[i]); //输入十个数 } } t = a[0]; for(i=1; i<10; i++) /...
2018-03-21 20:42:15 348
原创 0基础学编程之输出1000-2000之间的闰年
闰年的条件;能被4整除但不能被100整除 或 能被400//输出1000-2000的闰年#include<stdio.h>int main(){ int year; for( year = 1000; year <= 2000; year++) { if((year % 4 == 0) && (year % 100 != 0) || (year % 400...
2018-03-20 23:20:05 491
原创 0基础学编程之打印100-200之间的素数(质数)
题目:打印100-200的素数,并输出素数个数。判断素数的方法:(方法顺序对应代码顺序)1.正常思路:首先创建100-200的数,用2到这个数减1分别整除这个数,如果能整除,则表示此数不是素数,反之是素数。2.更优思路:一个数m能够写出m=a*b的形式,如果a不等于b,那么其中一个数一定小于根号下的m。所以只需要判断2-sqrt(m)能否整除m,如果能整除,则表示此数不是素数,反之是素数。3.偶数...
2018-03-20 23:13:55 683 1
原创 0基础学编程之乘法口诀表
要求:输出乘法口诀表#include<stdio.h>int main(){ int i = 0; for(i=1; i<=9; i++) { //打印一行 int j = 0; for(j=1; j<=i; j++) { printf("%d*%d=%2d ", i, j, i*j); } printf("\n"); } return 0;}2.实现一个函数...
2018-03-20 22:19:59 578
原创 0基础学习编程第一天
大家好,我是15级物联网工程专业大三学生,在大学蹉跎两年半时光后,终于在即将毕业的压力下醒悟,开始刻苦学习编程。 首先介绍下学习编程的目的。第一个最直接目的当然是想在毕业后能进入一家高大上的公司,每月能拿到丰厚的工资了,很现实也很正常是吧;第二个目的就是充实自己了,提升自己的能力,避免被社会所淘汰。IT行业发展迅速,十年前用的可能比较先进,高端的东西,在十年后很大可能沦为基础甚至被淘汰...
2018-03-18 22:55:35 431 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人