- 博客(22)
- 收藏
- 关注
原创 二叉树与堆排序
1、简单二叉树的创建与遍历 遍历:先序遍历、中序遍历、后续遍历 #include <stdio.h> #include <stdlib.h> struct node { int data; struct node *right, *left; }; typedef struct node TreeNode; TreeNode *CreateTree(int *...
2018-08-12 22:41:22
652
原创 链式队列
链式队列的基本操作。 在传递参数时,要分清何时一定要对变量取地址,何时可取可不取。 在初始化函数中,由于需要修改主函数中queue指针的指向,为其分配空间,所以传递参数时要对其取地址。同理,在销毁队列的函数中,也需要取地址。 头文件源代码如下: #ifndef _LINKQUEUE_H #define _LINKQUEUE_H #define SUCCESS 10000 #def...
2018-08-10 21:27:58
218
原创 链栈
链栈的相关操作 #include "LinkStack.h" int StackInit(Stack **s) { if (NULL == s) { return FAILURE; } (*s) = (Stack *)malloc(sizeof(Stack) * 1); if (NULL == (*s)) { return FAILURE; } (*s)->...
2018-08-08 21:22:58
170
原创 单链表
1、头插法、尾插法 struct node { int num; struct node *next; }; typedef struct node Node; typedef Node * Link; // 指针 void insert_head_node(Link newnode, Link *head) { newnode->next = *head; ...
2018-08-07 21:25:31
145
原创 栈(数据结构C语言版)
一、基本概念 栈是一个特殊的线性表,只能在一端操作; 栈顶(top):允许操作的一端 空栈:不含任何数据元素的栈;top = -1; 栈中有一个元素时,top = 0 性质:先进后出,后进先出 二、栈的基本操作 int StackInit(Stack **s) { (*s) = (Stack *)malloc(sizeof(Stack) * 1); //分配一个结构体,用于保...
2018-08-06 21:02:57
325
原创 通讯录(链表实现,基本功能都有)
1、头文件 #ifndef _LIST_H_ #define _LIST_H_ #include <stdio.h> #define FAILURE 1000 #define SUCCESS 1001 #define FALSE 1002 #define TRUE 1003 struct node { char ID[10]; char name[10];...
2018-08-05 20:27:57
1271
原创 单链表
#include "LinkList.h" #include <stdlib.h> #include <stdio.h> int LinkInit(Node **l) { *l = (Node *)malloc(sizeof(Node) * 1); //分配头结点 l 就是头指针 if (NULL == *l) { return FAILURE; }...
2018-08-04 22:43:57
117
原创 线性表排序
void sort(SeList l)//冒泡排序法 {//从小到大排 int i,j; ElemType temp; for(i=0; i < l.length - 1; i++) for(j=0;j < l.length - i - 1; j++) { if(l.data[j] > l.data[j + 1])//数组 { ...
2018-08-03 22:03:29
4434
原创 线性表(C语言版)
1、头文件 #ifndef _SEQUENCELIST_H #define _SEQUENCELIST_H #define SIZE 10 #define SUCCESS 10000 #define FAILURE 10001 #define TRUE 10002 #define FALSE 10003 typedef int ElemTyp...
2018-08-02 23:54:39
329
原创 简单通讯录(结构体指针数组)
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <sqlite3.h> #define MAX_LEN 1000//宏定义 #define NAME_LEN 20 #define NODE "\e[0m" #define BLACK "\e[0;3...
2018-08-01 21:04:15
263
原创 字节序
1、字节序判断 union test { int val; char array[2]; } int main() { union test t; t.val = 0x0102; if(t.array[0] == 1 && t.array[1] == 2) { printf("big endlian!\n"); }...
2018-08-01 00:25:43
106
原创 指针
1、联合体 union union test { char a; int b; long a; }; 所有成员变量共享同一段内存(只为最长成员分配空间) union test t; t.a = 1; printf("%d",t.b); 结果:t.b = 1; 2、void *万能指针 可以保存任何类型的地址,但不能取值,取值前要强制转换成其他指针类型。 ...
2018-07-31 00:02:27
189
原创 结构体和指针
1、结构体 一般声明为全局变量 声明格式如下: struct 结构体名 { }; 定义结构体变量: struct 结构体名 变量名 ; 2、结构体数组 struct student stu[5]; 3、结构体指针数组 struct student *stu[5]; &(stu[i]->age) 注:在scanf格式化输入时,...
2018-07-29 23:58:08
200
原创 指针强化(部分总结)
1、将字符串转换成整型数的函数 int atoi(const char *nptr); 包含在stdlib.h头文件里。 功能:形参为字符串地址。使用函数时,会跳过空白字符,直到遇到数字或正负符号才开始转换,遇到非数字或'\0'结束转换,并将转换成的整型结果作为函数返回值返回。 2、对形式参数使用const int sum(const int ar[], int n); const...
2018-07-28 23:31:40
155
原创 指针与字符串
1、使用getchar()函数实现对字符的循环输入 char ch; int i = 0; char *str = (char *)malloc(sizeof(char)*1024); while((ch = getchar()) != '\n')) { *(str + i) = ch; i ++; } //未知单词个数,不宜用scanf;而使用gets()会报出警告 2、函...
2018-07-27 21:29:11
248
1
原创 字符串和指针
1、字符串反转函数 void string_reverse(const char *ptr, char *str) { int len = strlen(ptr), i; ptr += (len - 1); for (i = 0; i < len; i++) { *str = *ptr; str++; ptr--; } } 2、找子串 #include &...
2018-07-27 00:51:39
747
原创 宏函数和指针
1、#include"stdio.h"与#include<stdio.h>的区别: 前者默认在当前目录下找。 后者在系统指定目录中找。 2、宏函数: #include<stdio.h> #define OUT printf("helloworld\n") //无参宏函数 #define P(s) printf("%s\n",s) //有参宏函数,注意...
2018-07-25 21:24:53
862
原创 2018/7/24
链表:解决数组带来的空间利用的问题;数组静态分配,容易造成浪费;链表动态分配空间。 数据结构--数据结构的作用?管理数据(存、取、遍历、查找) static关键字:1、修饰全局变量:改变变量的作用域,只能在当前文件被调用,其它文件不能调用。 static int num = 100; 2、修饰函数:改变函数的作用域,只能在当前文件中被调用。 ...
2018-07-25 00:48:31
115
原创 数组
1、字节序 大端字节序:高字节存放在低地址,低字节存放在高地址。数组元素a[0]存放在低地址。 小端字节序:高字节存放在高地址,低字节存放在低地址 2、数组的遍历 for(i = 0; i < sizeof(a) / sizeof(a[0]); i ++) 3、全局变量与局部变量 #include <stdio.h> int b[5]; int main() { ...
2018-07-24 01:18:59
224
原创 2018/7/22
今天主要完成了一些编程题目的练习,通过练习题去回顾学习到的C语言知识。虽然题目算较为简单的,但是自己在很多方面还是有所欠缺,并不能熟练地编写出程序。需要多加练习。...
2018-07-23 00:25:36
96
原创 C语言day1
基本数据类型 int 4字节 short 2字节 long 2字节 float 4字节 double 8字节 char 1字节 sizeof 关键字 求数据类型长度 sizeof(int) unsigned char 0-255 signed char -128~127 1000 0...
2018-07-22 01:01:06
137
原创 Linux C 第一天
姓名:陆加新 日期:2018年7月17日 今日学习任务:学习Linux操作指令。 今日完成情况:基本了解 今日开发中出现的问题汇总:cp复制目录时要加-rf 今日未解决问题:无 今日开发收获:了解了cd 、cp、mv、rm、chmod、mkdir、tar、ln -S、find、grep等指令的操作,能够比较顺畅地进行Linux指令操作。Tab补全指令,ctrl+c终止正在运行的程序。隐藏...
2018-07-17 20:20:39
65
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人