- 博客(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 616
原创 链式队列
链式队列的基本操作。在传递参数时,要分清何时一定要对变量取地址,何时可取可不取。在初始化函数中,由于需要修改主函数中queue指针的指向,为其分配空间,所以传递参数时要对其取地址。同理,在销毁队列的函数中,也需要取地址。头文件源代码如下:#ifndef _LINKQUEUE_H#define _LINKQUEUE_H#define SUCCESS 10000#def...
2018-08-10 21:27:58 171
原创 链栈
链栈的相关操作#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 116
原创 单链表
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 103
原创 栈(数据结构C语言版)
一、基本概念栈是一个特殊的线性表,只能在一端操作;栈顶(top):允许操作的一端空栈:不含任何数据元素的栈;top = -1;栈中有一个元素时,top = 0性质:先进后出,后进先出二、栈的基本操作int StackInit(Stack **s){ (*s) = (Stack *)malloc(sizeof(Stack) * 1); //分配一个结构体,用于保...
2018-08-06 21:02:57 285
原创 通讯录(链表实现,基本功能都有)
1、头文件#ifndef _LIST_H_#define _LIST_H_#include <stdio.h>#define FAILURE 1000#define SUCCESS 1001#define FALSE 1002#define TRUE 1003struct node{ char ID[10]; char name[10];...
2018-08-05 20:27:57 1208
原创 单链表
#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 81
原创 线性表排序
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 4364
原创 线性表(C语言版)
1、头文件#ifndef _SEQUENCELIST_H#define _SEQUENCELIST_H #define SIZE 10#define SUCCESS 10000#define FAILURE 10001#define TRUE 10002#define FALSE 10003typedef int ElemTyp...
2018-08-02 23:54:39 216
原创 简单通讯录(结构体指针数组)
#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 219
原创 字节序
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 76
原创 指针
1、联合体 unionunion 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 151
原创 结构体和指针
1、结构体一般声明为全局变量声明格式如下:struct 结构体名{ };定义结构体变量:struct 结构体名 变量名 ;2、结构体数组struct student stu[5];3、结构体指针数组struct student *stu[5];&(stu[i]->age)注:在scanf格式化输入时,...
2018-07-29 23:58:08 126
原创 指针强化(部分总结)
1、将字符串转换成整型数的函数int atoi(const char *nptr);包含在stdlib.h头文件里。功能:形参为字符串地址。使用函数时,会跳过空白字符,直到遇到数字或正负符号才开始转换,遇到非数字或'\0'结束转换,并将转换成的整型结果作为函数返回值返回。2、对形式参数使用constint sum(const int ar[], int n);const...
2018-07-28 23:31:40 107
原创 指针与字符串
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 173 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 710
原创 宏函数和指针
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 823
原创 2018/7/24
链表:解决数组带来的空间利用的问题;数组静态分配,容易造成浪费;链表动态分配空间。数据结构--数据结构的作用?管理数据(存、取、遍历、查找)static关键字:1、修饰全局变量:改变变量的作用域,只能在当前文件被调用,其它文件不能调用。static int num = 100; 2、修饰函数:改变函数的作用域,只能在当前文件中被调用。...
2018-07-25 00:48:31 93
原创 数组
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 157
原创 2018/7/22
今天主要完成了一些编程题目的练习,通过练习题去回顾学习到的C语言知识。虽然题目算较为简单的,但是自己在很多方面还是有所欠缺,并不能熟练地编写出程序。需要多加练习。...
2018-07-23 00:25:36 68
原创 C语言day1
基本数据类型int 4字节 short 2字节 long 2字节float 4字节 double 8字节char 1字节sizeof 关键字 求数据类型长度 sizeof(int)unsigned char 0-255signed char -128~127 1000 0...
2018-07-22 01:01:06 89
原创 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 54
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人