- 博客(32)
- 收藏
- 关注
原创 一元多项式的表示及相加(抽象数据类型Polynomial的实现)
// c2-6.h 抽象数据类型Polynomial的实现(见图2.45) typedef struct // 项的表示,多项式的项作为LinkList的数据元素 { float coef; // 系数 int expn; // 指数 }term,ElemType; // 两个类型名:term用于本ADT,ElemType为LinkList的数据对象名
2014-08-12 22:02:57 1508
原创 实现算法2.20、2.21的程序
// algo2-11.cpp 实现算法2.20、2.21的程序 #include"c1.h" typedef int ElemType; #include"c2-5.h" #include"bo2-6.cpp" #include"func2-3.cpp" // 包括equal()、comp()、print()、print2()和print1()函数 Status ListInsert_L(Lin
2014-08-12 21:52:05 571
原创 带头结点的线性链表类型
// c2-5.h 带头结点的线性链表类型 typedef struct LNode // 结点类型(见图2.40) { ElemType data; LNode *next; }*Link,*Position; struct LinkList // 链表类型(见图2.41) { Link head,tail; // 分别指向线性链表中的头结点和最后一个结点 int len; // 指示线性链表中
2014-08-12 21:48:31 1080
原创 双向链表
// c2-4.h 线性表的双向链表存储结构(见图2.36) typedef struct DuLNode { ElemType data; DuLNode *prior,*next; }DuLNode,*DuLinkList;
2014-08-12 21:37:46 609
原创 两个仅设表尾指针的循环链表的合并(教科书图2.13)
// algo2-10.cpp 两个仅设表尾指针的循环链表的合并(教科书图2.13) #include"c1.h" typedef int ElemType; #include"c2-2.h" #include"bo2-4.cpp" #include"func2-3.cpp" // 包括equal()、comp()、print()、print2()和print1()函数 void MergeLis
2014-08-12 21:29:31 810
原创 循环链表
单链的循环链表结点的存储结构和单链表的存储结构一样,所不同的是:最后一个结 点的next 域指向头结点,而不是“空”。这样,由表尾很容易找到表头。但若链表较长, 则由表头找到表尾较费时,因而,单循环链表往往设立尾指针而不是头指针,如图231 所示。这在两个链表首尾相连合并成一个链表时非常方便。Bo2-4.cpp 是设立尾指针的单 循环链表的基本操作。
2014-08-12 21:22:17 559
原创 实现算法2.17的程序
// algo2-8.cpp 实现算法2.17的程序 #include"c1.h" #define N 2 typedef char ElemType; #include"c2-3.h" #include"func2-2.cpp" #include"bo2-32.cpp" #include"func2-3.cpp" // 包括equal()、comp()、print()、print2()和prin
2014-08-11 23:49:24 520
原创 一个数组中可根据需要生成若干个独立的链表
// bo2-32.cpp 一个数组可生成若干静态链表(数据结构由c2-3.h定义)的基本操作(12个),包括算法2.14 #define DestroyList ClearList // DestroyList()和ClearList()的操作是一样的 void InitSpace(SLinkList L) // 算法2.14。另加(见图2.29) { // 将一维数组L中各分量链成一个备用链表
2014-08-11 23:31:24 481
原创 实现算法2.15、2.16的程序(一个数组只生成一个静态链表)
// func2-2.cpp 实现算法2.15、2.16的程序,main2-31.cpp和main2-32.cpp调用 int Malloc(SLinkList space) // 算法2.15(见图2.24) { // 若备用链表非空,则返回分配的结点下标(备用链表的第一个结点);否则返回0 int i=space[0].cur; if(i) // 备用链表非空 space[0].cur
2014-08-11 23:20:12 546
原创 线性表的静态单链表存储结构
// c2-3.h 线性表的静态单链表存储结构(见图2.23) #define MAX_SIZE 100 // 链表的最大长度 typedef struct { ElemType data; int cur; }component,SLinkList[MAX_SIZE]; // algo2-7.cpp 教科书中图2.10静态链表示例 // 第1个结点的位置在[0].cur中。成员cur的值为0
2014-08-11 23:03:56 631
原创 不带头借点的单链表的扩展功能
// func2-1.cpp 不带头结点的单链表(存储结构由c2-2.h定义)的扩展操作(3个) // algo2-6.cpp和bo7-2.cpp用到 void InsertAscend(LinkList &L,ElemType e,int(*compare)(ElemType,ElemType)) { // 按关键字非降序将e插入表L。函数compare()返回值为形参1的关键字-形参2的关键字
2014-08-11 22:22:01 691
原创 第二届360杯全国大学生信息安全技术大赛部分解题思路(逆向分析)
/* 逆向分析第一题 解题攻略: 已限定为用户名为:strawberry 分析该程序算法,得出该用户名所对应的Key 正确答案:K$q*a_+@Xt 逆向分析第二题 解题攻略: 已在压缩包中给定了一个用ReverseMe.exe加密过后的文件:密文.db分析ReverseMe.exe的算法,写出解密算法,解密该文件得到Key。该Exe里有一个bug,导致exe无法运行;你有两种方法得到该Key
2014-08-11 22:06:48 1148
原创 不带头结点的单链表
单链表也可以不设头结点,如图212 所示。显 然,基于这种结构的基本操作和带有头结点的线性链 表基本操作是不同的。bo2-8.cpp 是不带头结点的线 性链表的基本操作。
2014-08-11 00:00:21 1182
原创 实现算法2.11、2.12的程序
// algo2-5.cpp 实现算法2.11、2.12的程序 #include"c1.h" typedef int ElemType; #include"c2-2.h" #include"bo2-2.cpp" #include"func2-3.cpp" // 包括equal()、comp()、print()、print2()和print1()函数 void CreateList(LinkList
2014-08-10 23:52:26 723
原创 用单链表结构实现算法2.2的程序
// algo2-13.cpp 采用单链表结构实现算法2.2的程序,仅有4句与algo2-2.cpp不同 #include"c1.h" typedef int ElemType; #include"c2-2.h" // 此句与algo2-2.cpp不同 #include"bo2-2.cpp" // 此句与algo2-2.cpp不同 #include"func2-3.cpp" // 包括equal(
2014-08-10 23:37:06 392
原创 用单链表实现算法2.1
// algo2-12.cpp 用单链表实现算法2.1,仅有4句与algo2-1.cpp不同 #include"c1.h" typedef int ElemType; #include"c2-2.h" // 此句与algo2-1.cpp不同(因为采用不同的结构) #include"bo2-2.cpp" // 此句与algo2-1.cpp不同(因为采用不同的结构) #include"func2-3.
2014-08-10 23:35:36 416
原创 线性表的链式表示和实现
和顺序表相比,链表存储结构在实现插入、删除的操作时,不需要移动大量数据元素 (但不容易实现随机存取线性表的第i 个数据元素的操作)。所以,链表适用于经常需要进 行插入和删除操作的线性表,如飞机航班的乘客表等。
2014-08-10 23:21:11 496
原创 实现算法2.4的程序
// algo2-4.cpp 修改算法2.7的第一个循环语句中的条件语句为开关语句,且当 // *pa=*pb时,只将两者中之一插入Lc。此操作的结果和算法2.1相同 #include"c1.h" typedef int ElemType; #include"c2-1.h" #include"bo2-1.cpp" #include"func2-3.cpp" // 包括equal()、comp()、
2014-08-09 22:58:52 437
原创 实现算法2.3的程序
// algo2-3.cpp 实现算法2.7的程序 #include"c1.h" typedef int ElemType; #include"c2-1.h" #include"bo2-1.cpp" #include"func2-3.cpp" // 包括equal()、comp()、print()、print2()和print1()函数 void MergeList(SqList La,SqLis
2014-08-09 22:56:30 429
原创 实现算法2.2的程序
// algo2-2.cpp 实现算法2.2的程序 #include"c1.h" typedef int ElemType; #include"c2-1.h" #include"bo2-1.cpp" #include"func2-3.cpp" // 包括equal()、comp()、print()、print2()和print1()函数 void MergeList(SqList La,SqLis
2014-08-09 22:54:16 445
原创 实现算法2.1的程序
// algo2-1.cpp 实现算法2.1的程序 #include"c1.h" typedef int ElemType; #include"c2-1.h" // 采用线性表的动态分配顺序存储结构 #include"bo2-1.cpp" // 可以使用bo2-1.cpp中的基本操作 #include"func2-3.cpp" // 包括equal()、comp()、print()、print2(
2014-08-09 22:50:02 446
原创 线性表的顺序表示和实现
/* 顺序表存储结构容易实现随机存取线性表的第i 个数据元素的操作,但在实现插入、 删除的操作时要移动大量数据元素,所以,它适用于数据相对稳定的线性表,如职工工资 表、学生学籍表等。 c2-1.h 是动态分配的顺序表存储结构,bo2-1.cpp 是基于顺序表的基本操作。由于 C++函数可重载,故去掉bo2-1.cpp 中算法2.3 等函数名中表示存储类型的后缀_Sq。 c2-1.h 不采用固定数组
2014-08-09 22:31:32 512
原创 计算1-1/x+1/x*x
// algo1-1.cpp 计算1-1/x+1/x*x. #include #include void main() { timeb t1,t2; long t; double x,sum=1,sum1; int i,j,n; printf("请输入x n:"); scanf("%lf%d",&x,&n); ftime(&t1); // 求得当前时间 for(i=1;i<=n;i++) { su
2014-08-08 22:54:57 751
原创 说明exit()函数作用的程序
// algo1-4.cpp 说明exit()函数作用的程序 #include"c1.h" int a(int i) { if(i==1) { printf("退出程序的运行\n"); exit(1); } return i; } void main() { int i; printf("请输入i:"); scanf("%d",&i); printf("a(i)=%d\n",a(i)); }
2014-08-08 22:48:26 762
原创 变量的引用类型和非引用类型的区别
/////////////////////////// // author:liyuechao // date:2014.8.8 //////////////////////////// // algo1-3.cpp 变量的引用类型和非引用类型的区别 #include void fa(int a) // 在函数中改变a,将不会带回主调函数(主调函数中的a仍是原值) { a++; printf("在
2014-08-08 22:44:48 666
原创 二进制转16进制JAVA代码
public class Binary2Hex { public static void main(String[] args) { String bString ="10101000";//需要zhuan System.out.println(binaryString2hexString(bString)); } public static String binaryStrin
2014-08-08 22:16:27 531
原创 失恋后明白的一些道理
////////////////////////////// // author:liyuechao // date:2014.8.8 //////////////////////////// /* ******************************************** * * 经历了一段匆匆忙忙的爱情,懂得了很多,虽然相处的时间并不是很长 *(ps:仅仅只有16天)
2014-08-08 21:40:09 796 1
原创 第二届360杯全国大学生信息安全技术大赛部分解题思路(加密解密题)
WEB安全第一题 解题攻略: 验证码设计bug,抓取发送验证码链接,然后查看response发现验证码在response里。打开题目链接发现是注册的界面,邮箱固定为360-question@360.cn
2014-08-07 23:21:40 1930
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人