`
zy3381
  • 浏览: 157631 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论
文章列表
说实话前面的对整数的指向指针的排序真没看出有什么意思,但是这个对字符串的指向指针的排序方法让我察觉到了其意义所在,字符串一般都需要大量的存储空间来保存,如果直接对其进行排序,必然涉及到大量的字符串移动,这是非常浪费资源的,而通过指向字符串的指针来排序,排序的对象仅仅是一个存储着指针值的数组而已,差不多就是对整数排序的开销而达到了发现字符串大小顺序的效果,而无需对原来的字符串数组作任何移动与调整。 #include<stdio.h> #include<string.h> /* 通过对指向字符串数组的指针所指的字符串进行比较 对ptr指针数组进行 ...
#include"stdio.h" /* 通过指向指针的指针来排序 即根据指针所指的元素的大小来将指针地址排序 而后依次输出指针地址的时候得到的就是有序的数组 比如3,1的指针地址分别为a和b,即a->3,b->1 交换指针位置后a->1,b->3 对本程序中的ptr指针数组进行了排序 */ void sort(int **p, int n) { int i,j; int *t; for(i=0; i<n; i++) { ...
猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子? #include<stdio.h> /************************************************************************/ /* 从最后两天开始分析 */ /* 第九天的桃子数量x9和第十天的桃子数量x10的关系为x9-x9/2-1=x10 */ /* 变换 ...
直接递归形式的编辑距离求解(递归过程会产生很多重复计算,所以应该采用动态规划来提高效率) public class LevenshteinDistance { /** * @param args */ public static void main(String[] args) { //1 // String str1 = "abc"; // String ...
/** * 栈方式非递归汉诺塔 * @author zy * */ public class StackHanoi { /** * @param args */ public static void main(String[] args) { System.out.println("递归方式:"); hanoiNormal(3, 'A', 'B', 'C'); System.out.println(); System.out.println("非递归方式:"); hanoi( ...
总体思路是对待分析的带注释段的字符串进行遍历,声明一个缓冲字符串变量来记录非注释的部分,最后返回这个缓冲字符串变量作为结果 1.首先考虑/*comment*/形式的注释 当遇到/*部分便停止记录,继续往后遍历到*/部分,实现跳过/**/段 2.考虑/*comment/*inside*/out*/形式的嵌套注释 声明一个数字变量来记录/*的开始的次数,遇到一个/*就+1,遇到一个*/就-1,实现嵌套匹配 3.考虑双斜杠注释 发现//形式的字符串的时候表明遇到了双斜杠注释,这时候使用while循环继续向后遍历,直到发现一个换行符,从而跳过整个这一行 4.考虑双引号 双引号中的注释部分是不能去 ...
...
/** * 循环赛日程表 * @author zy * */ public class Table2 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int k = 3; int totalNum = pow(2, k); //总队伍数量 int[][] a = new int[totalNum][totalNum]; table(k, a); for (i ...
class Node { public int data; public Node next; public Node(int data) { this.data = data; } } public class Main { public static void reverse(Node head) { System.out.println("Reverse()"); Node p1 = head.next; Node p2 = head.next; head.next = null; while( ...
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StreamTokenizer; public class Main { //二叉树节点定义 static class TreeNode { int data; TreeNode leftChild; TreeNode rightChild; public TreeNode(int data) { this.dat ...
/** * 一维空间最近点对问题 * @author zy * */ public class CPair1 { static class CPair { int dist; int d1,d2; public CPair(int dist, int d1, int d2) { this.dist = dist; this.d1 = d1; this.d2 = d2; } public String toString() { return dist + " " + d1 ...
sqlplus连接数据库例子 用户名: ecis 密码: pwecis 连接字符串: 222.197.201.147/ecis sqlplus中查询实例 select instance_name, status from v$instance; 备份数据库(cmd下) 导出 EXP 用户名/密码@连接字符串 FULL=Y file=D:\文件名.dmp 导入 IMP 用户名/密码@连接字符串 FULL=Y file=D:\文件名.dmp

curl设置代理

curl -x 10.0.0.1:80 www.baidu.com.cn 计划任务相关 创建一个在10/23/2013 到 11/23/2013 每隔5分钟运行一次F:\WebCamImageSave\upload.bat的一个叫做upload的计划任务 schtasks /create /sc minute /mo 1 /TN upload /tr F:\WebCamImageSave\upload.bat /SD 2013/10/23 /ED 2013/11/23 停止任务 schtasks /end /tn upload 删除任务 schtasks /delete /tn up ...
简单工厂的工厂类(Factory)需要直接负责对象的产生,是一个具体的类 工厂方法通过对工厂(Factory)进行进一步的抽象,使得工厂变为一个接口,具体的产品生产工厂要对这个抽象工厂接口进行实现,这样做的好处是:使得对象的产生过程下放到具体产品的工厂,从而使得系统可以在不修改具体工厂的情况下,引进新的产品工厂。

Java初始化顺序

1.静态成员和静态块,这种情况在类加载的时候就会执行并且只会执行一次 比如 class A { public static A a = new A(); } 还有 class B { static { System.out.println("static block"); } } 当同时存在很多静态成员和静态块的时候,按顺序来初始化 2.普通成员和游离块,这种情况在创建对象的过程中才会被执行 比如 class C { public C c = new C(); } 还有 clas ...
Global site tag (gtag.js) - Google Analytics