![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
cwl_java
这个作者很懒,什么都没留下…
展开
-
C++编程之美-数学之趣(代码清单4-4)
代码清单4-4#include <string.h>int main(){ bool flag; bool IsUsed[10]; int number, revert_number, t, v; for(number = 0; number < 100000; number++) { flag = t...原创 2020-01-18 11:06:45 · 390 阅读 · 0 评论 -
C++编程之美-数学之趣(代码清单4-3)
代码清单4-3void CalcTime(double Length, // length of the stick double *XPos, // position of an ant, <=length int AntNum, // number of ants double ...原创 2020-01-18 11:05:46 · 336 阅读 · 0 评论 -
C++编程之美-数学之趣(代码清单4-2)
代码清单4-2struct point{ double x, y;};double Product(point A, point B, point C){ return (B.x - A.x) * (C.y - A.y) - (C.x - A.x) * (B.y - A.y);}// A,B,C 在逆时针方向// 如果D在ABC之外,返回false,否则返回...原创 2020-01-18 11:04:48 · 318 阅读 · 0 评论 -
C++编程之美-数学之趣(代码清单4-1)
代码清单4-1struct point{ double x, y;};double Area(point A, point B, point C){ // 边长 double a, b, c = 0; // 计算出三角形边长,分别为a、b、c Computer(A, B, C, a, b, c) Double p = (a...原创 2020-01-18 11:03:48 · 325 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-19:简单并带有错误的环形单链表检测代码)
代码清单3-19:简单并带有错误的环形单链表检测代码LinkedList* IsCyclicLinkedList(LinkedList* pHead){ LinkedList* pCur; LinkedList* pStart; while (pCur != NULL) { for(; ; ) { ...原创 2020-01-18 11:02:06 · 302 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-18(纠正错误后的二分查找源码))
代码清单3-18(纠正错误后的二分查找源码)int bisearch(char** arr, int b, int e, char* v){ int minIndex = b, maxIndex = e, midIndex; // 循环结束有两种情况: // 若minIndex为偶数则minIndex == maxIndex; // 否则就是minIn...原创 2020-01-18 11:01:10 · 273 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-17(带有错误的二分查找源码))
代码清单3-17(带有错误的二分查找源码)int bisearch(char** arr, int b, int e, char* v){ int minIndex = b, maxIndex = e, midIndex; while(minIndex < maxIndex) { midIndex = (minIndex + maxInd...原创 2020-01-18 10:59:25 · 392 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-16)
代码清单3-16// 按层次遍历二叉树// @param// root,二叉树的根节点void PrintNodeByLevel(Node* root){ if(root == NULL) return; vector<Node*> vec; // 这里我们使用STL 中的vector来代替数组,可利用 ...原创 2020-01-18 10:58:04 · 310 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-15)
代码清单3-15// 层次遍历二叉树// root,二叉树的根节点void PrintNodeByLevel(Node* root){ for(int level=0; ; level++) { if(!PrintNodeAtLevel(root, level)) break; cout <&...原创 2020-01-18 10:57:05 · 276 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-14)
代码清单3-14// 层次遍历二叉树// @param// root,二叉树的根节点// depth,树的深度void PrintNodeByLevel(Node* root, int depth){ for(int level = 0; level < depth; level++) { PrintNodeAtLevel(root, le...原创 2020-01-18 10:56:14 · 317 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-13)
代码清单3-13// 输出以root为根节点中的第level层中的所有节点(从左到右), 成功返回1,// 失败则返回0// @param// root 为二叉树的根节点 // level为层次数,其中根节点为第0层int PrintNodeAtLevel(Node* root, int level){ if(!root || level < 0) ...原创 2020-01-18 10:55:19 · 266 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-12)
代码清单3-12// ReBuild.cpp : 根据前序及中序结果,重建树的根节点//// 定义树的长度。为了后序调用实现的简单,我们直接用宏定义了树节点的总数#define TREELEN 6// 树节点struct NODE{ NODE* pLeft; // 左节点 NODE* pRight; // 右节点 cha...原创 2020-01-18 10:54:34 · 245 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-11)
代码清单3-11// 数据结构定义struct NODE{ NODE* pLeft; // 左子树 NODE* pRight; // 右子树 int nMaxLeft; // 左子树中的最长距离 int nMaxRight; // 右子树中的最长距离 char chValue; // ...原创 2020-01-18 10:53:34 · 327 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-10)
代码清单3-10class Queue{public: Type MaxValue(Type x, Type y) { if(x > y) return x; else return y; } Type Queue::Max() {...原创 2020-01-18 10:52:30 · 310 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-9)
代码清单3-9class stack{public: stack() { stackTop = -1; maxStackItemIndex = -1; } void Push(Type x) { stackTop++; if(stackTop >= MAX...原创 2020-01-18 10:51:28 · 342 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-8)
代码清单3-8int nTargetLen = N + 1; // 设置目标长度为总长度+1int pBegin = 0; // 初始指针int pEnd = 0; // 结束指针int nLen = N; // 目标数组的长度为Nin...原创 2020-01-18 10:50:29 · 329 阅读 · 1 评论 -
C++编程之美-结构之法(代码清单3-7)
代码清单3-7void DeleteRandomNode(node* pCurrent){ Assert(pCurrent != NULL); node* pNext = pCurrent -> next; if(pNext != NULL) { pCurrent -> next = pNext -> next; ...原创 2020-01-18 10:49:33 · 310 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-6)
代码清单3-6Int CalculateStringDistance(string strA, int pABegin, int pAEnd, string strB, int pBBegin, int pBEnd) { if(pABegin > pAEnd) { if(pBBegin > pBEnd) r...原创 2020-01-18 10:48:34 · 329 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-5)
代码清单3-5void RecursiveSearch(int* number, int* answer, int index, int n){ if(index == n) { for(int i = 0; i < m; i++) printf("%c", c[number[i]][answer[i]]); ...原创 2020-01-18 10:47:39 · 263 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-4)
代码清单3-4while(true){ // n为电话号码的长度 for(i = 0; i < n; i++) printf("%c", c[number[i]][answer[i]]); printf("\n"); int k = n - 1; while(k >= 0) { i...原创 2020-01-18 10:46:46 · 304 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-3)
代码清单3-3for(answer[0] = 0; answer[0] < total[number[0]]; answer[0]++) for(answer[1] = 0; answer[1] < total[number[1]]; answer[1]++) for(answer[2] = 0; answer[2] < total[number[...原创 2020-01-18 10:45:27 · 289 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-2)
代码清单3-2char c[10][10] = { "", //0 "", //1 "ABC", //2 "DEF", //3 "GHI", //4 "JKL", //5 "MNO", //6 "PQRS", //7 "TUV", //8 "WXYZ", //9...原创 2020-01-18 10:44:28 · 253 阅读 · 0 评论 -
C++编程之美-结构之法(代码清单3-1)
代码清单3-1char src[] = ”AABBCD”;char des[] = ”CDAA”;int len = strlen(src);for(int i = 0; i < len; i++) { char tempchar = src[0]; for(int j = 0; j < len - 1; j++) src[j] = ...原创 2020-01-18 10:43:31 · 281 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-38(C#代码))
代码清单2-38(C#代码)using System;using System.Collections.Generic;using System.Text;namespace FindTheNumber{ class Program { static void Main(string[] args) { ...原创 2020-01-18 10:24:58 · 256 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-37)
代码清单2-37定义:isOK[i][v]表示是否可以找到i个数,使得它们之和等于v初始化 isOK[0][0] = true; isOK[i][v] = false(i > 0, v > 0)for(k = 1; k <= 2 * n; k++){ for(i = min(k, n); i>= 1; i--) for(v ...原创 2020-01-18 10:23:39 · 261 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-36)
代码清单2-36定义:Heap[i]表示存储从arr中取i个数所能产生的和之集合的堆。初始化:Heap[0]只有一个元素0。Heap[i],i〉0没有元素。for(k = 1; k <= 2 * n; k++){ i_max = min(k - 1, n - 1); for(i = i_max; i >= 0; i--) { f...原创 2020-01-18 10:22:43 · 265 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-35)
代码清单2-35Reverse(int* arr, int b, int e){ for(; b < e; b++, e--) { int temp = arr[e]; arr[e] = arr[b]; arr[b] = temp; }}RightShift(int* arr, int N, ...原创 2020-01-18 10:21:43 · 281 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-34)
代码清单2-34RightShift(int* arr, int N, int K){ K %= N; while(K--) { int t = arr[N - 1]; for(int i = N - 1; i > 0; i --) arr[i] = arr[i - 1]; ...原创 2020-01-18 10:20:48 · 312 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-33)
代码清单2-33RightShift(int* arr, int N, int K){ while(K--) { int t = arr[N - 1]; for(int i = N - 1; i > 0; i --) arr[i] = arr[i - 1]; arr[0] = t...原创 2020-01-18 10:19:46 · 295 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-32(C#代码))
代码清单2-32(C#代码)int LIS(int[] array){ // 记录数组中的递增序列信息 int[] MaxV = new int[array.Length + 1]; MaxV[1] = array[0]; // 数组中的第一值,边界值 MaxV[0] = Min(array) - 1; // 数组中最小值,...原创 2020-01-18 10:18:56 · 291 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-31(C#代码))
代码清单2-31(C#代码)int LIS(int[] array){ int[] LIS = new int[array.Length]; for(int i = 0; i < array.Length; i++) { LIS[i] = 1; // 初始化默认的长度 for(int j = 0; j < i; ...原创 2020-01-18 10:17:31 · 303 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-30)
代码清单2-30// @parameters// A,二维数组// n,行数// m,列数int MaxSum(int* A, int n, int m){ maximum = -INF; for(a = 1; a <= n; a++) for(c = a; c <= n; c++) { ...原创 2020-01-18 10:14:41 · 314 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-29)
代码清单2-29int max(int x, int y){ return (x > y) ? x : y; // 用于比较x和y的大小,返回x和y中的较大者}// @parameters// A,二维数组// n,行数// m,列数int MaxSum(int* A, int n, int m){ maximum = -INF; for(...原创 2020-01-18 10:12:06 · 277 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-28)
代码清单2-28int MaxSum(int* A, int n){ // 要做输入参数检查 nStart = A[n - 1]; nAll = A[n - 1]; for(i = n - 2; i >= 0; i--) { if(nStart < 0) ...原创 2020-01-18 10:11:04 · 260 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-27)
代码清单2-27int max(int x, int y){ return (x > y) ? x : y;} // 用于比较x和y的大小,返回x和y中的较大者int MaxSum(int* A, int n){// 要做参数检查 nStart = A[n - 1]; nAll = A[...原创 2020-01-18 10:09:53 · 282 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-26)
代码清单2-26int max(int x, int y) // 返回x,y两者中的较大值{ return (x > y) ? x : y;}int MaxSum(int* A, int n){ Start[n - 1] = A[n - 1]; All[n - 1] = A[n - 1]; for(i = n - 2; i >...原创 2020-01-18 10:08:49 · 279 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-25)
代码清单2-25int MaxSum(int* A, int n){ int maximum = -INF; int sum; for(int i = 0; i < n; i++) { sum = 0; for(int j = i; j < n; j++) { ...原创 2020-01-18 10:07:52 · 264 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-24)
代码清单2-24int MaxSum(int* A, int n){ int maximum = -INF; int sum; for(int i = 0; i < n; i++) { for(int j = i; j < n; j++) { for(int k = i;...原创 2020-01-18 10:06:51 · 249 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-23)
代码清单2-22for(i = 0, j = n - 1; i < j; ) if(arr[i] + arr[j] == Sum) return (i, j); else if(arr[i] + arr[j] < Sum) i++; else j--; return(-1, -1);...原创 2020-01-18 10:05:21 · 273 阅读 · 0 评论 -
C++编程之美-数字之魅(代码清单2-22)
代码清单2-22double MinDifference(double arr[], int n){ if(n < 2) { return 0; } // Sort array arr[] Sort(arr, arr + n); double fMinDiff = arr[1] - arr[0]; ...原创 2020-01-18 10:04:11 · 453 阅读 · 0 评论