8 very_happy

尚未进行身份认证

爱编程

等级
TA的排名 20w+

C语言常用库函数

参考:https://www.runoob.com/size_t strlen(const char *str)计算字符串 str 的长度,直到空结束字符,但不包括空结束字符。char *strcpy(char *dest, const char *src)把 src 所指向的字符串复制到 dest。 需要注意的是如果目标数组 dest 不够大,而源字符串的长度又太长,可能会造成缓冲溢出...

2020-03-01 15:01:44

【程序员的自由修养】疑问汇总

问题一:【2.4 模块拼接 -- 静态链接】 一节最后一段中,讲到链接之后,变量var的地址确定下来为0x1000。为什么链接之后var的地址就确定了呢?自问自答:  【1.5 内存不够怎么办】小节中讲到了虚拟内存,是因为可执行程序的虚拟内存都是从0到某个最大值,所以在链接的时候var的虚拟内存其实已经确定了。程序在运行过程中,var的虚拟内存是不会改变的,变更的只是物理内存。因此在链接的...

2018-07-29 15:32:54

Java标准输入

在Java中标准输入很简单,但是标准输入没有那么简单,经常用的Scanner类来读取标准输入。 Scanner定义:package java.util;public final class Scannerextends Objectimplements Iterator<String>, Closeable常用的函数nextLine函数public String nextLine()next

2016-02-29 19:47:49

JAVA Stack

在java中,Stack类位于java.util包下,继承Vector类:public class Stack<E>extends Vector<E>Stack类包含了一般栈逻辑相关的方法:public E push(E item)push向栈中添加元素。public E pop()pop是出栈方法,返回栈顶元素并删除栈顶元素,此时栈中元素数目将减少一个。若栈为空时,会发生异常EmptyStack

2016-02-29 16:52:56

Leetcode Odd Even Linked List

题意:分组单链表中的奇偶节点,把奇结点置于偶结点之前,奇数结点之间的相对顺序不变,偶数结点之间的相对顺序也不变。注意:是对重新排序结点的顺序,不是针对结点中的数值。方法一图示如下: 初始化奇数结点odd和偶数结点even为链表的第一二个结点执行odd.next = even.next; odd=odd.next; even = even.next;直到链表末尾即可。方法二图示如下: 生成奇数链表

2016-02-20 21:33:44

基于比较排序时间复杂度下界

对于nn个待排序元素经过一次比较后,其中两个元素的顺序被确定,所以可能的正确结果剩余n!/2n!/2种;依次类推,直到经过mm次比较,剩余可能性n!/(2m)n!/(2^m)种;直到n!/(2m)≤1n!/(2^m) \le 1时,结果只剩下一种,此时mm为O(nlogn)O(nlogn);根据Stirling’s approximation可知:m=O(nlogn)m = O(nlogn)

2016-01-23 22:31:18

桶排序

桶排序(Bucket sort)是一种排序算法,原理是将数组分到有限数量的桶中,每个桶中的数据再进行排序。当数组元素是均匀分配时,桶排序使用线性时间。桶排序不是基于”比较排序”,所以不受nlognnlogn下限的影响。 基于比较的排序最有时间复杂度为nlognnlogn。 桶排序动画效果参考文献: 桶排序-百度百科 桶排序动画

2016-01-23 21:48:41

Testz

这里是标题一这里是标题二这里是标题三

2015-04-02 18:30:31

插入排序

插入排序时一种简单直观的排序算法。思想是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。

2015-03-17 20:00:39

排序专题

排序动画排序动画归并排序归并排序利用分治思想,其计算步骤如下:分解:将n个元素平均分成各含n/2个元素的子序列; 解决:用归并排序对两个子序列递归地排序;合并:合并两个已排序的子序列以得到结果。比较直观的归并动态图如下: java代码如下:public class MergeSort{public static void main(String args[]){ int[] da

2015-03-13 19:35:16

欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-03-13 18:45:19

C语言实现快排

void Qsort( int * p_int, int ll, int hh ){ //对地址为p_int+ll 和 p_int+hh 之间的元素实现快排 if( hh > ll + 1 ) { //当有三个或以上元素时 int low = ll + 1; //以ll处的元素为枢纽 int high = hh; //最高索引 while(

2013-11-14 16:40:35

指针的低级错误!铭记!

typedef struct LNode{ int data; struct LNode * next;}LNode, * LinkList;void CreateList1( LinkList &L, int n ){//建立n个元素的链表L L = ( LNode * ) malloc( sizeof( LNode ) ); LinkList L1 = L -> next;

2013-07-15 16:20:41

C/C++中include

刚开始学习C语言时候就知道include指令,但是对其含义的理解很多时候是模糊的,其精确含义如下(摘自C++语言程序设计第三版):   指令include可以有两种书写方式。#include表示按照标准方式搜索要嵌入的文件,该文件位于C++系统目录include子目录下,一般要嵌入系统提供的标准文件时采用这样的方式,如对标准头文件iostream的包含。另一种书写为#include"文件名",

2013-07-07 16:00:53

解读:《C语言解惑》中的难解的指针

在C语言中,指针和数组有着千丝万缕的关系,也是很核心的内容之一,同时也是最难理解的部分。在 《C语言解惑》一书中有一道关于指针的题目,作者说只要能正确地解答之,便说明已经全面地掌握了C语言中指针的用法。让我们先看看源代码:int main() { char * c[] = { "ENTER", "NEW",

2013-05-24 22:41:45

欧几里得算法

今天看到关于求两数最大公约数的帖子,就想起欧几里得算法,但是此算法是怎么证明的呢?一时间还真想不起来了,哎!还是理解的不深刻,现将其证明记录如下,没事时候可以翻翻看。     欧几里得算法又称为辗转相除法,用来计算两个整数(a>b)的最大公约数。    定理:gcd(a,b) = gcd(b,a mod b);    因为a>b,假设a = kb+r, --> r = a mod b;

2013-05-14 23:15:19

c++中的错误:error C2601: 'main' : local function definitions are illegal

今天编写一cpp程序,一直编译无法通过,错误是:error C2601: 'main' : local function definitions are illegal。可是怎么看也没有错误,在网上查了老半天终于找到了原因,是头文件的末尾少一个}。而当#include“***.h”时,意思是“***.h”文件中的代码原封不动地放到源文件中,当编译时候就会出现上述错误,说main函数的定义是非法的。

2013-04-28 23:34:38

层序输出二叉树

常见的二叉树输出方式是先序,中序和后序;层序输出相对并不常见,先说说我的思想。   二叉树的定义是树中的每个结点至多有两个子树并且有顺序,分别称为左右子树。首先,构造一指针数组并将根节点的地址存入其中(下标为0);若此结点左孩子非空,则将左孩子的地址存入数组(下标为1);同理,若此结点右孩子非空,则将右孩子的地址存入数组(下标为2);对左右孩子施以和根结点同样的动作,重复以上步骤,将会得到相应

2013-04-27 16:38:27

C链表练习时对指针的深刻理解

在做有关链表的练习时,遇到了链表内存错误的问题,最后解决了,在此分享给大家,错误及不足之处,还望大牛们指正。 所作的就是很简单地创建一个链表,并输出其元素,代码如下: 头文件 _List_H.h #include#include#ifndef _List_Htypedef int ElementType ;struct Node;ty

2013-04-05 19:25:24

摘自《Data Structures and Algorithm Analysis in C》

学习计算机的学生不学习算法,真的说不过去,学校没有响应的课程,只能自学了,希望能够通过CSDN这个平台和大家讨论问题,能力得到提高,也希望各位大牛不吝赐教。       在许多问题当中,一个重要的观念是:写出一个可以工作的程序并不够。如果这个程序在巨大的数据集上运行,那么运行时间就变成了重要的问题。我们将在本书中看到对于大量的输入,如何估计程序的运行时间,尤其是如何在尚未具体编码的情况下比较两

2013-02-28 21:11:28

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。