Time of Update: 2018-12-05
輸入一個整形數組 和一個目標數字。要求列印出所有用給定數組內的數位和等於給定目標數位組合,給定數組內的每個數字使用次數不限。如輸入數組{2, 3},目標數字12,。則應列印出:{3, 3, 3, 3}, {3, 3, 2, 2, 2}, {2, 2, 2, 2, 2, 2}。#include <iostream>#include <string>#include <map>#include <vector>using namespace
Time of Update: 2018-12-05
使用兩個棧實現一個隊列MyQueue#include <stack>using namespace std;template <class T>class myQueue{public:void push(T val){sin.push(val);}void pop(){move(sin, sout);sout.pop();}T front(){move(sin, sout);return sout.top();}T back(){move(sout,
Time of Update: 2018-12-05
寫程式將一個棧按升序排序。對這個棧是如何?的,你不應該做任何特殊的假設。 程式中能用到的棧操作有:push | pop | top | empty。#include <stack>using namespace std;void sort(stack<int> &s){stack<int> t;while (!s.empty()){int val = s.top();s.pop();while (!t.empty() && val
Time of Update: 2018-12-05
給出數字1,2,3。列印出序列:1, 2, 3, 12, 23, 13, 123。#include <iostream>using namespace std;bool status[3] = {false, false, false};void print(int a[], int pos, int n){ if (pos == n) { for (int i = 0; i < n; i++) { if
Time of Update: 2018-12-05
輸入基數b(2<=b<=10)和正整數n(十進位),輸出n的b進位表示。#include <stdlib.h>#include <stdio.h>#include <string.h>int result[100];void fun(int b, int n){ int i = 0; while (n) { result[i] = n%b; n /= b; i++; }}int
Time of Update: 2018-12-05
#include <iostream>#include <stack>using namespace std;struct Node{ int value; Node *left; Node *right;};void inorderTraverse(Node *root){ if (NULL == root) { return; } //用p來記錄最後彈出的節點 Node *p = root;
Time of Update: 2018-12-05
就是動態處理表格 <html><head><script type="text/javascript">var n=0;function changeButton(){if(n==1){for(i=0;i<3;i++)for(j=0;j<2;j++){var x=document.getElementById('myTable').rows[i].cells; var
Time of Update: 2018-12-05
最近我同學的電腦遇到了這樣的一個問題: 在開機登入介面時無法進入,提示"Group Policy Client服務未能登入",其實在開始我也沒遇到這樣的問題,上網查了很久的資料,最後終於讓我給解決了,呵呵……現在我就把我的解決方案公布如下,希望給以後有這方面問題的電腦使用者帶來一點便利。解決方案: 1、開機按一直F8,然後進入安全模式
Time of Update: 2018-12-05
結構體對齊有的時候,在腦海中停頓了很久的“顯而易見”的東西,其實根本上就是錯誤的。就拿下面的問題來看:struct T{char ch;int i ;};使用sizeof(T),將得到什麼樣的答案呢?要是以前,想都不用想,在32位機中,int是4個位元組,char是1個位元組,所以T一共是5個位元組。實 踐出真知,在VC6中測試了下,答案確實8個位元組。哎,反正受傷的總是我,我已經有點麻木了,還是老老實實的接受吧!為什麼答案和自己想象的有出入呢?這
Time of Update: 2018-12-05
這是從一位仁兄那裡看到的一道題,題目如下:輸入一棵二元尋找樹,將該二元尋找樹轉換成一個排序的雙向鏈表。要求不能建立任何新的結點,只調整指標的指向。 10 / \ 6 14 / \ / \4 8 12 16 轉換成雙向鏈表4=6=8=10=12=14=16。 首先我們定義的二元尋找樹 節點的資料結構如下: struct BSTreeNode{ int m_nValue; // value of node BSTreeNode *m_pLeft;
Time of Update: 2018-12-05
文章目錄 Description: #include "stdio.h"#include "string.h"char str[1050];int Count(){if(!str[0]) return 0;int i,sum=0,tsum=0;for(i=0;str[i];i++){tsum+=str[i]-'N';if(tsum>sum)sum=tsum;if(tsum<0) tsum=0;}return sum;}int
Time of Update: 2018-12-05
2006 年百度之星程式設計大賽初賽題目 4 N 個小孩正在和你玩一種剪刀石頭布遊戲。 N 個小孩中有一個是裁判,其餘小孩分成三組(不排除某些組沒有任何成員的可能性),但是你不知道誰是裁判,也不知道小孩們的分組情況。然後,小孩們開始玩剪刀石頭布遊戲,一共玩 M
Time of Update: 2018-12-05
將1-n之間的自然數進行全排列,代碼如下所示: #define N 6#define FULL -1//完成void test_row(){int num[N];//待排列數組bool use[N];//記錄已經排列的數for(int k=0;k<N;k++){num[k]=0;use[k]=false;}row(num,0,N,use);}int row(int*num,int k,int n,bool*use)//對num中從第k個數開始的排列{if(k<0)return
Time of Update: 2018-12-05
printf("short:%d\n",sizeof(short)); printf("double:%d\n",sizeof(double)); printf("long double:%d\n",sizeof(long double)); printf("long:%d\n",sizeof(long)); printf("int:%d\n",sizeof(int)); printf("float:%d\n",sizeof(float)); printf("char:%d\n",sizeof(
Time of Update: 2018-12-05
package package2;import javax.swing.*;import javax.swing.event.*;import javax.swing.tree.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;/* * 樹的練習,預設節點DefaultMutableTreeNode * */public class Tree_practice extends
Time of Update: 2018-12-05
輸入兩個正整數n<m<10^6,輸出1/(n^2) + 1/(n+1)^2 + ... + 1/(m^2),保留5為小數。例如n=2,m=4時答案是0.42361;n=65536,m=655360時答案為0.00001。注意:防止溢出。#include <stdlib.h>#include <stdio.h>#include <string.h>double fun(int n, int m){ double result = 0;
Time of Update: 2018-12-05
在使用資料庫的時候,經常需要給每一行的資料添加一個唯一的ID,在不同的資料庫中有不同的做法,Server會提供一個自動產生的identity,Oracle中會提供一個序列,而我發現了一個所有資料庫通用的方法,sql語句如下:select min(id) from table union all select min(id) from table where id+1 not in (select id from table),上一句選擇表table中最小的id,下一句選擇id+1不在表中的id,
Time of Update: 2018-12-05
給定一個單向鏈表,設計一個演算法實現鏈表向右旋轉K個位置。舉例:給定:1->2->3->4->5->6->null 並且K=3,則有:4->5->6->1->2->3->null。struct Node{ int value; Node *next;};Node* revert(Node *head, unsigned int k){ if (head == NULL || k == 0)
Time of Update: 2018-12-05
class max_asc_seq implements I_algorithm {/** * 問題:尋找最長的單調遞增子序列 思路:用b[j]表示以第j個數到最後一個數的最長單調遞增子序列,再從後向前遍曆,尋找試b[j]最大的值 * */private int[] data;private int length;private int[] result;int[] temp;double time;public max_asc_seq() {}@Overridepublic void
Time of Update: 2018-12-05
對於有n個元素的數組 int a[n]={....};寫一個高效演算法將數組內容迴圈左移m位。比如: int a[6] ={1,2,3,4,5,6} ,迴圈左移3位得到結果{456123}。要求時間複雜度O(n), 空間複雜度O(1)。void swapArray(int a[], int begin, int end){ while (begin < end) { swap(a[begin], a[end]); begin++;