c语言
zyaphone
这个作者很懒,什么都没留下…
展开
-
C语言线性表的实现
C语言线性表的实现#define OK 1 #define ERROR 0#include<stdio.h> #include<stdlib.h>/* 线性链表的实现ADT 线性表(List) DataOperation InitList(*L); 初始化操作,建立一个空的线性链表L。 ListEmpty(L); 若线性链表L为空,返回true, 否则返回false。 Cle原创 2015-08-22 18:28:21 · 1495 阅读 · 0 评论 -
LintCode:合并两个排序链表
LintCode:合并两个排序链表/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL;原创 2016-03-22 16:59:29 · 333 阅读 · 0 评论 -
LintCode:两两交换链表中的节点
LintCode:两两交换链表中的节点/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public原创 2016-03-22 16:28:18 · 1651 阅读 · 0 评论 -
LintCode:在O(1)时间复杂度删除链表节点
LintCode:在O(1)时间复杂度删除链表节点/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next原创 2016-03-22 15:57:20 · 311 阅读 · 0 评论 -
LintCode:删除列表中的元素
#LintCode:删除列表中的元素/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public:原创 2016-03-22 15:56:08 · 335 阅读 · 0 评论 -
C++二叉树的建立、前序、中序、后序遍历
最近在LintCode上练习算法,感觉对数据结构的体用Python或者Java写起来都很费劲,像二叉树这种数据结构,Python是Java都用对象进行封装实现的,感觉有点浪费,还是用C++写起来比较顺手,不过好久不用C++,好多都忘 了,所以在这里记录一下,免得再忘 了,还不知道去哪里找。二叉树是数据结构里最觉的一种了,重要性不言而喻。#include<iostream> using namespa原创 2016-03-19 16:23:42 · 591 阅读 · 0 评论 -
C语言指针小知识点记录
学了就忘,还是多作些笔记吧~ #include<stdio.h> #include<string.h>int main() { char s1[] = "hello"; char *s2 = "hello"; int a = sizeof(s1); // 字符串所占内存, 包括'\0' int b = sizeof(s2); // 指针p2所占内存 int c原创 2015-09-25 22:33:50 · 496 阅读 · 0 评论 -
转载:读懂C/C++递归
今天看了贺利坚老师讲解的递归,受益颇多,在些记录一下,原文链接这里,我把贺利坚老师的PDF文件截图放在博客里,以便随时查看。 递归在计算学科中是一种非常重要的方法,计算理论中到处都有用递归进行表述的问题及求解方法。 在程序设计中,数据描述和算法表达也常用递归,通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大原创 2015-10-10 23:03:36 · 384 阅读 · 0 评论 -
C链表操作(删除节点、反转链表)
C语言学了这么久这是,指针什么的还是容易搞混,T_T从链表中删除指定位置的节点 指针p指向要删除节点的上一个位置。 指针q指向要删除的节点,p指向要删除节点的下一个位置。 释放q。 typedef struct Node { int date; struct Node *next; }Node, *List;void deleteList(List L, int n) { N原创 2015-09-25 22:04:41 · 615 阅读 · 0 评论 -
几种C语言实现的排序算法
几种C语言实现的排序算法排序是数据结构中常考的内容,本文对几种常用的排序进行了整理,以便查看。首先定义要进行排序的数组#define MAXSIZE 10 #include<stdio.h>typedef struct { int a[MAXSIZE]; int length; }List; 打印数组函数 void Print(List *L) { int i; fo原创 2015-08-27 21:44:05 · 508 阅读 · 0 评论 -
C语言二叉树的数据结构实现
树是一种重要的非线性数据结构,其中以二叉树最为常用,这遍博文是基于C语言的二叉树实现,包括树的建立,前序遍历,中序遍历和后序遍历,gcc5.2编译通过。 #define OVERFLOW 0 #define NULL 0#include<stdlib.h> #include<stdio.h>typedef struct BitNode //二叉树结构,包含一个数据域,两个指针 { char原创 2015-08-23 18:18:52 · 808 阅读 · 0 评论 -
LintCode:中位数
LintCode:中位数Pythonclass Solution: """ @param nums: A list of integers. @return: An integer denotes the middle number of the array. """ def median(self, nums): # write your c原创 2016-05-11 14:16:52 · 1317 阅读 · 0 评论