自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_41889292的博客

C语言学习心得

  • 博客(19)
  • 收藏
  • 关注

原创 java中关键字super和this

1.super关键字:(1)子类构造方法调用父类构造方法:super()class B{ public B() { System.out.println("1*****"); }}public class A extends B { public A() { super(); } }输出结果:1*****(2)当子类继承父类时会覆写父类的方法,若想再访问父类方法...

2018-06-22 21:42:27 118

原创 java中基本数据类型转换

当使用+-*/%运算时,遵循以下规则:1.当两个操作数有一个为double时,另外一个也会转化为double类型,并且结果也会转换成double类型2.当两个操作数有一个为float时,另外一个也会转化为float类型,结果也是float3.当两个操作数有一个为long时,另外一个也会转化为long类型,并且结果也为long4.除此以外的所有基本数据类型(short,byte,int,cha...

2018-06-22 21:02:56 133

原创 单链表的增删查

#pragma once#include<stdio.h>#include<Windows.h>#include<assert.h>#include<stdlib.h>typedef int DataType;typedef struct SListNode{ DataType data; struct SListNode *pN...

2018-06-22 20:52:48 102

原创 java非内部类中的静态成员变量

下面一个程序:class A{ int y=6;     class Inner{         static int y=3;         void show(){         System.out.println(y);         }     } } class Demo{ public static void main(String [] args...

2018-06-22 19:12:04 659

原创 对顺序表的操作:增删查

1.顺序表的增加:分为三种情况:尾插,头插,按位置插>尾插:依次将数据插入到上一个数据的后面,有效元素个数应小于数组长度:void SeqListPushBack(SeqList *pSL,DataType data){ assert(pSL); assert(pSL->size < MAX_SIZE); pSL->array[pSL->size] = dat...

2018-06-19 13:41:08 583

原创 单链表实现冒泡排序

题目:单链表实现冒泡排序解题思路:定义三个指针:pNode指向链表头,next指向第二个元素,tail指向的每轮结束的位置,开始为NULL。然后比较pNode和next的值,大就交换,当next为空时第一轮结束,记录这个位置,下一趟排序只要next遇到这个位置就结束。代码实现:void BubbleNode(SListNode *pFirst){ SListNode *pNode; SLis...

2018-06-18 20:04:34 1998 1

原创 单链表的逆置/反转

题目:单链表的逆置/反转。解题思路:思路一:定义三个指针,n1,n2,n3,初始值分别为 :链表第一个节点,链表第二个节点,第三个节点。n2保存的是n1的地址,n3保存的是n2的地址,通过n3来往后遍历,直n2为空,这时n1指向最后一个元素,这时返回n1,就可以逆置链表如下图:代码实现:SListNode *reserveNode(SListNode *pFirst){ SListNode *...

2018-06-18 19:55:37 545

原创 单链表实现约瑟夫环

题目:单链表实现约瑟夫环约瑟夫环:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列解题思路:将链表构成一个环,然后开始数数,数到那个数,就删掉,然后继续数,直到剩一个人代码实现:SListNode *JosephCycle(SListNode *...

2018-06-18 19:38:20 205

原创 在无头单链表的一个节点前插入一个节点(不能遍历链表)

题目:在无头单链表的一个节点前插入一个节点(不能遍历链表)解题思路:因为是无头节点,所以我们不知道给定位置之前的值。所以只能在给定位置pos之后插入。首先先申请一个节点空间,将新节点插入到给定位置pos的后面,然后将给定节点pos的值赋给新节点,然后再将要插入的值赋给pos。如下图:代码实现:void InsertNode(SListNode *pos,DataType data){ asse...

2018-06-18 19:34:13 615

原创 删除一个无头单链表的非尾节点(不能遍历单链表)

题目:     删除一个无头单链表的非尾节点(不能遍历单链表)解题思路:首先这个单链表是无头的,所以不能从头开始,也不能遍历单链表。只是给定一个节点,要删除一个节点,首先需要找到上一个节点,但是因为是无头的,所以我们无法知道给定节点的上一个节点,所以就不能去删除给定的节点,但是我们可以去删除给定节点的后一个节点。如下图:为替换法删除代码实现:void DelNode(SListNode *pPos...

2018-06-18 19:18:34 292

原创 逆置打印链表

题目:将一个单链表逆置输出解题思路:思路一:先找到最后一个,打印最后一个,然后指向链表最后一个指针前移,知道遇到链表第一个节点。时间复杂度O(n^2),空间复杂度O(1)void PrintTail(SListNode *pFirst){ SListNode *end = NULL; while (end != pFirst){ SListNode *pNode = pFirst; ...

2018-06-18 19:06:55 142

原创 复杂链表的复制

  题目:复杂链表的复制。一个链表的每个节点,有一个指向next指针指向下一个节点,还有一个random指针指向这个链表中的         一个随机节点或者NULL,现在要求实现复制这个链表,返回复制后的新链表。解题思路:   题目中不仅仅要复制指向next指针的节点,还要复制random指针指向这个链表的随机节点或NULL,所以我们要考虑很多的情况,并且还要将一个指针所有的指向都复制下来,如下...

2018-06-18 19:02:01 116

原创 将C语言注释转换成C++注释

将input.c中的C语言注释转换成C++注释output。解题思路:C语言的注释用“/**/”,C++注释用“//”表示,通过无线状态机模来做这道题,首先将问题可能分成几个简单的小块:判断是否有‘/’,当有时,也要分成三种可能:‘/’后的那个字符是否是'/','*',如果是也分两种,如果不是则继续则跳过第一个'/',然后继续查找,找到“/*”时,说明是C语言风格,则继续找与“/*”相对应的“*/...

2018-06-09 20:57:35 255

原创 Linux下vim

1.vim简介:   Vim(Vi[Improved])编辑器是功能强大的跨平台文本文件编辑工具,继承自Unix系统的Vi编辑器,支持Linux/Mac OS X/Windows系统,利用它可以建立、修改文本文件。进入Vim编辑程序,可以在终端输入下面的命令:$ vim filenamefilename是文件名,vim有三种模式:命令模式,编辑模式,末行模式。2.vim的基本键盘操作:>移动...

2018-06-09 19:17:57 140

原创 每日一练:将字符串转成整数

解题思路:  将字符串str中的每个字符通过ascll码转换成对应的数字,定义一个计数器num,每转换一次num*10,再加上当前字符转成的数字。字符串在转整数的时候要注意特殊情况:当第一个字符为+/-/字母/空格时。#include<stdio.h>#include<windows.h>#include<assert.h>enum en{ EROR,...

2018-06-07 15:48:56 105

原创 linux权限问题

1.Linux下有两种用户:超级用户:可在Linux下做任何事,不手限制(命令提示符“#”)普通用户:在Linux下做有限的是事(命令提示符“$”)命令:su[用户名]功能:切换用户如:要从root用户切换到普通用户,使用su user。从普通用户user切换到root用户,使用su root(root可省略)2.Linux权限管理>文件访问者文件和文件目录的所有者:u----User文...

2018-06-06 21:40:38 245

原创 认识Linux及Linux下的基本指令

1.ls指令语法: ls [选项][目录或文件]功能:对于目录,该命令列出该目录下的所有子目录的文件。对于文件,将列出文件名及其他信息。常用选项:-a:列出目录下的所有文件,包括以 . 开头的隐含文件-d:将目录象文件一样显示,而不是显示其下的文件。-f :对输出的文件不进行排序,-aU 选项生效,-lst 选项失效-h:以容易理解的格式列出文件大小 (例如 1K 234M 2G-i:印出...

2018-06-06 20:51:34 262

原创 每日一练:字符串排列

内容:输入一个字符串,打印该字符串中字符的所有序列。例如:输入字符串abc,则打印出:abc,acb,bac,bca,cab,cba解题思路:第一步求所有可能出现在第一个位置的字符,即把第一个字符和后面的所有字符,这样就把所有可能的字符放到第一位。第二步,固定第一个字符,然后把后面字符再进行排序,把后面的字符分成两部分:后面的第一个字符,和这个字符后面的所有字符,然后把第一个字符和后面的交换。这是...

2018-06-05 21:37:23 123

原创 Linux下一个小项目:知道给定年的1月1号星期几,打印日历

思路:以2000年1月1号为例。知道2000.1.1是星期六,通过知道1月有多少天就知道2000.2.1号是星期几,依次就可得到2000.12.1是星期几,从而就会得到2001年的1月1号是星期几,这样就可得到输入年的指定月份1号是星期几。当知道给定年得月份知道了1号的具体星际几,然后就可以打印出这个月的所有日期。#include<stdio.h>#include<stdlib...

2018-06-05 21:33:53 838

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除