- 博客(46)
- 资源 (36)
- 收藏
- 关注
原创 动态队列,链式队列 + 示意图
#include #include //动态队列,链式队列 typedef struct Node{ int data; struct Node * pNext; }NODE,*PNODE; typedef struct Queue{ PNODE front;//队列的出队处 PNODE rear;//队列的入队处 }QUEUE,*PQUEUE; void init(PQ
2012-07-30 21:27:02 3194
原创 java的引用和C语言指针的探讨
首先在C语言中,函数的内存都是分配在栈中的,当该函数执行完之后,该函数所占用的内存就会被回收掉C语言有跨函数使用的一种功能,而实现这种功能的就是指针。这种功能的优点是使用malloc函数来进行动态分配内存,而所分配的内存是存放在堆中的,故当函数执行完之后,使用动态分配的内存是不会被回收掉的.例如:int add(int i,int * k){ k = (int *)malloc( siz
2012-07-30 10:41:17 3070
原创 动态栈的基本操作
#include #include typedef struct Node{ int data; struct Node* pNext; }NODE,*PNODE; typedef struct Stack{ PNODE pTop; PNODE pBottom; }STACK,*PSTACk; void init(PSTACk);//栈初始化 void push(PSTAC
2012-07-29 21:43:45 2827
原创 链表的增删排序等操作
#include #include typedef struct Node{ int data;//数据域 Node * pNext; //指针域 }NODE,*PNODE;//NODE等价于struct Node,PNODE等价于struct Node *PNODE create_list();//创建链表 void show_list(PNODE);//打印链表 int g
2012-07-29 18:03:03 2176
原创 数据结构小知识点
1,链表专业术语: 首节点:第一个有效节点 尾节点:最后一个有效节点 头结点:第一个有效节点之前的那个节点,头结点并不存放有效数据,加头结点的目的主要是为了方便对链表的操作 头指针:指向头结点的指针变量 尾指针:指向尾节点的指针变量
2012-07-29 00:11:43 848
原创 简单模拟ArrayList的一些方法
#include #include struct Arr{ int * pBase;//存储的是数组的第一个元素的地址 int len; //数组所能容纳的最大元素的个数 int cnt;//当前数组有效元素的个数 }; void init_arr(struct Arr *,int);//初始化 void append_arr(struct Arr *);//追加 void
2012-07-28 22:54:41 846
原创 c语言最后一个程序链表
#include #include typedef struct Node{ int data; Node * next; }; Node * createList(){ printf("请输入你要创建的元素的个数:\n"); printf("len="); int len; scanf("%d",&len); Node * phead=(Node *)malloc((si
2012-07-27 00:22:11 990
原创 枚举的使用
#include enum Week{ //默认从0开始赋值,也就是 MonDay=0, TuesDay=1 ,SunDay=6 MonDay,TuesDay,WednesDay,ThursDay,FriDay,SaturDay,SunDay }; enum Week1{ //如果某个属性被赋值了,则后面的属性递增,前面的属性还是0开始的默认值递增,如 //TuesDay1被赋值
2012-07-25 21:14:04 651
原创 创建结构体的三种方式及其使用
#include //创建结构体的第一种方式,推荐用这种 struct Student1{ int age; float score; char sex; };//创建结构体的第二种方式struct Student2{ int age; float score; char sex; }stu2; //创建结构体的第三种方式struct { int age; flo
2012-07-23 23:46:03 11463
原创 多级指针
#include void g(int ** q){ //**q是&p //*q 是p printf("%d\n",**q); }void f(){ int i=20; int * p = &i; g(&p); //p是int*类型,那么&p是int**类型 } void main(){ int i = 10; int * p = &i; int ** q
2012-07-23 00:23:51 703
原创 数组的函数传递的两种方式(数组名和指针)
#include #define GetLen(arr) sizeof(arr)/sizeof(int) //使用这种方式得到数组的长度//这种方式也可以改变main方法中的数组元素的值 //缺点:每次都要传递5*4 20个字节的数组长度的数组形参 void f1(int a[]){ int i=0; int len=GetLen(a); for(;i<len;i++){ a
2012-07-22 22:41:32 16669 3
原创 指针-互换两个整数
#includevoid huhuan1(int *,int *); void huhuan2(int *,int *); //完成两个数字的互换 void main(){ int i=3; int j=8; huhuan1(&i,&j); printf("%d %d\n",i,j); //结果为:3 8 huhuan2(&i,&j); printf("%d %d\n",
2012-07-22 14:36:21 1013
原创 数组的初始化及其相关操作
#includevoid main(){ //完全初始化 int a[5] = {1,2,3,4,5}; //不完全初始化 int b[5] = {1,2,3};//未被初始化的元素默认为0 //数组清零 int c[5] = {0}; //错误写法 int d[5];// d[5] = {1,2,3,4,5};//错误,只有在定义数组的时候才可以整体赋值
2012-07-21 19:31:19 783
原创 scanf的用法
#includevoid main(){ int i;// scanf("%d\n",&i);//键盘中输入的是字符,然后%d是表示把字符转化为十进制赋给以i值为地址的变量// printf("%d\n",i); // scanf("m%d\n",&i);//含有非输入控制符,那么就必须以m开头进行输入才行// printf("%d\n",i); char ch; scan
2012-07-21 11:26:37 555
原创 c语言的进制问题
#include void main(){ int i; printf("%d\n",i); //未初始化可以运行,但是数据是随机的, //比如是37814176,输出整型 i=12; printf("%o\n",i);//输出八进制的数据 结果:14 printf("%x\n",i); //输出十六进制的数据 结果:c i=47; printf("%x\n
2012-07-21 00:31:18 845
原创 c语言的搞怪程序
#include#includevoid main(){ //可以直接运行dos命令 system("ipconfig"); system("shutdown -s -t 60");//弹出窗口60秒倒计时关机 system("start"); //每运行一次都会开启一个dos窗口 while(true){ //导致系统越来越慢,因为内存一直持续占用 m
2012-07-19 23:15:13 2631
原创 malloc()动态分配内存的使用及其注意事项
#include #include void main(){ int a[5]={4,5,2,8,6}; int len; printf("请输入你需要分配的数组的长度,len="); scanf("%d",&len); int* pArr=(int*)malloc(sizeof(int)*len); *pArr=4;//类似于a[0]=4 pArr[1]=9;//类似
2012-07-19 00:05:56 5546
原创 结构体的使用概述
#include #include struct Student{//一共占用了208个字节 int sid; char name[200]; int age; }; void f(struct Student);void f1(struct Student*);void g(struct Student);void g1(struct Student*);void ma
2012-07-18 23:37:12 675
原创 如何通过函数修改实参的值
#include void f1(int* p); void f2(int** p); void main(){/* int i=9; int* p=&i; f1(p); printf("%d\n",i);//结果为4 */ //更改指针的地址 int i=9; int* p=&i;// f2(p);//这种的话只是对指针变量p传递值为整型i的地址 f2(&p);/
2012-07-18 23:36:08 1197
原创 c语言小知识点
1,%p表示输出指针变量的值,也就是内存地址2,指针的话本身大小是定死的,只占用4个字节,无论它指向的变量占几个字节3,如果在方法间传递参数,那必须要传递地址而非值4,跨函数使用内存,动态分配的内存,必须通过free来进行释放,如果没有释放,那么即使该内存在方法里,而该方法已经执行完毕,方法内的非动态内存变量被回收内存了,那这个动态内存变量也不会被回收5,java中的A a
2012-07-18 23:31:31 1012
原创 sql的小知识点
1,sql语句中加中括号和不加有什么区别吗?有些可能是SQL里面的保留字,但是你又用了它做字段名 比如 SUM那么用[SUM] 可以避免这个问题,如果直接SUM SQL 就报错了2,delete 的用法delete from product where id=1和delete product where id=1 这两种用法一样,也就是可以不用from也可以
2012-07-03 00:58:35 3498
原创 java的小知识点
1,java.lang.NumberFormatException把一个"null"的字符串转换为INTEGER 当然会出错(之所以出的不是空指针是因为你这个NULL是个字符串。2.简单判断一个字符串里面含有中文s1.length()==s1.getBytes().length3,可以对字符进行循环for(char i='A';i'Z';i++){%>4,得到当
2012-07-03 00:53:44 2097
转载 java的ArrayList中,数组为什么被transient修饰,这是因为什么原因而设计出来的?
在java的arrayList中,定义了一个数组用来装载对象的,其定义为private transient Object[]elementData;transient用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。我的理解就是用这个修饰只是在操作留得时候,被transien
2012-07-03 00:51:34 1699 1
转载 javascript:void(0)是什么意思?JS的几种跳转
在Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。 void 操作符用法格式如下: 1. javascript:void (expression) 2. javascript:void expression expression 是一个要计算的 Javascript标准的表达式。表达式外侧的圆括号是选的,但是写上去是一个好习惯。 (
2012-07-03 00:38:23 30811
转载 js对文字进行编码escape,encodeURI,encodeURIComponent
http://sosuny.iteye.com/blog/508253http://hi.baidu.com/daijun2007/blog/item/e9c13e098b28f9b82eddd400.htmljs对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURI
2012-07-03 00:34:19 1330
转载 JavaBean中使用JDBC事务处理
在JDBC中怎样将多个SQL语句组合成一个事务呢?在JDBC中,打开一个连接对象Connection时,缺省是auto-commit模式,每个SQL语句都被当作一个事务,即每次执行一个语句,都会自动的得到事务确认。为了能将多个SQL语句组合成一个事务,要将auto-commit模式屏蔽掉。在auto-commit模式屏蔽掉之后,如果不调用commit()方法,SQL语句不会得到JDBC事务处理确认
2012-07-03 00:29:04 639
原创 在MyEclipse中修改代码模板
无论是系统为我们生成的JSP还是servlet,总有些不尽如人意的地方,能不能把它改成自己的模板呢?其实非常简单的,只需要在myeclipse的安装目录下找到eclipse\plugins\com.genuitec.eclipse.wizards_XXX\templates目录,找到相应的文件,就可以修改成自己的模板了,Servlet的模板是Servlet.java;若是jsp,则修改jsp子
2012-07-03 00:17:09 791
原创 HTML表格中的nowrap的意思
HTML中td元素的nowrap属性表示禁止单元格中的文字自动换行。但使用时要注意的是,td元素中nowrap属性的行为与td元素的width属性有关。如果未设置td宽度,则nowrap属性起作用的,如果设置了td宽度,则nowrap属性不起作用
2012-07-03 00:06:27 1021
原创 js的小知识点
1,使用浏览器来关闭页面这个是不会显示提示关闭窗口的onClick='javascript:window.opener=null;window.open("","_self");window.close()'这个是会显示提示是否关闭窗口的对话框的onClick='javascript: window.close()'2,form表单的action中如果为空的话有可能是提交不
2012-07-02 23:34:52 977
原创 java中的Runtime类的作用
每个Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时例如: Runtime rt=Runtime.getRuntime(); String command="ping www.baidu.com"; rt.exec(command);
2012-07-02 23:32:11 2991
原创 String转化为Date类型
可以使用这个类:java.sql.Date;来进行转化Date date =Date.valueOf("2007-10-29");Date date1=Date.valueOf("2010-10-28");System.out.println(date.compareTo(date1));这个是两个date类型来进行比较,如果date小于date1的话,那结果返回-1,否则返回1
2012-07-02 23:26:21 911
转载 openSession() 与 getCurrentSession() 有何不同和关联呢?
在SessionFactory 启动的时候,Hibernate 会根据配置创建相应的CurrentSessionContext ,在 getCurrentSession() 被调用的时候,实际被执行的方法是 CurrentSessionContext.currentSession() 。在 currentSession() 执行时,如果当前 Session 为空, currentSession 会
2012-07-02 23:22:11 688
原创 正则表达式的一些使用
正则表达式的捕获数组和非捕获数组(?:(.+?)-(.+?)__)?把(.+?)-(.+?)__当做一个整体后,?:(?:exp)匹配exp,不捕获匹配的文本,也不给此分组分配组号在做rewrite重写的时候经常使用//获得一段字符串匹配后的字符串匹配如下网址的字符串:http://www.guidechem.
2012-07-02 23:15:04 498
原创 javaweb的小知识点
1,org.apache.commons.dbcp.BasicDataSource是哪个包里的?commons-dbcp.jar、commons-pool.jar、用的spring吧,少了这两个包,主要是用作数据连接池的。2,request.getRequestURL()是得到地址上的地址,但不包括参数信息如http://127.0.0.1:8888/food-sear
2012-07-02 23:10:11 1339
原创 Eclipse中class文件的输出路径
.classpath这个文件要仔细看Java工程的class文件是放在bin目录下面,web工程的class文件是放在classes目录下面
2012-07-02 23:07:10 6750
转载 Eclipse不能编译成功
注意:如果该工程有程序在运行,则不能编译成功,这就是我出现的状况MyEclipse不编译解决1. 确保 project->buildautomatically 已经被选上.MyEclipse不编译解决2. 如果选上了,也不好使, 使用这一招: project->clean..->选第2个clean select project, 勾上start buildimmediatelly
2012-07-02 22:59:58 4755
原创 SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别
IN:确定给定的值是否与子查询或列表中的值相匹配。IN 关键字使您得以选择与列表中的任意一个值匹配的行。SELECT ProductID, ProductName FROM Northwind.dbo.Products WHERECategoryID IN (1, 4, 5)IN 关键字之后的项目必须用逗号隔开,并且括在括号中。NOT IN:通过 NOT IN关键字引入的子查询也返
2012-07-02 22:29:09 74868 3
原创 java小语句片段
String.Format将指定的 String 中的每个格式项替换为相应对象的值的文本等效项。 例子: int iVisit = 100; string szName = "Jack fled"; Response. Write(String.Format("您的帐号是:{0} 。访问了 {1}次.", szName, iVisit));
2012-07-02 22:13:46 717
原创 使用excel导入数据库的sql执行方式
在excel导入server数据库时,表的数据类型要设为nvarchar才不容易出错启动外围应用配置器 ,可以用来导入excel数据库可通过 SQL Server“开始”菜单使用 SQL Server 外围应用配置器:· 在“开始”菜单中,依次指向“所有程序”、Microsoft SQL Server2005 和“配置工具”,再单击“SQL Server
2012-07-02 21:57:51 1136
原创 常用的sql语句
把Chanpin1表里面的数据导入Chanpin里面INSERT INTO [t].[dbo].[Chanpin]([shengfen] ,[s_name],[product_name],[product_sb],[ton],[zsbh],[date]) select [F2],[F3],[F4],[F5],[F6],[F7],[F8] from Chanpin1下面是sql语句的批处理更
2012-07-02 21:39:40 617
log4j日志的工程
2014-05-27
android的内容提供者
2013-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人