Time of Update: 2018-12-04
首先來一道簡單的題目:一個數組中,除了一個數字,其他數字都出現了兩次,我們如何找出那個不同的數字,很簡單,將所有的數字都異或,那麼最終結果就是要找的數字,因為相同的數字異或結果就是0那麼現在來思考這個題目:《編程之美》一書提供了一種方法,即將所有的數字進行一個異或,得到一個數字,然後以該數位某非0為作為過濾位,將數組分為兩個部分,此時出現一次的數字會分到不同的部分,現在的問題就已經轉換為出現一次的情況:演算法如下:public int[]findTwoDiff(int[]a){int
Time of Update: 2018-12-04
先來個不太好看的:三張圖連起來看。 實作類別似qq上每個分組的標題總是置頂的效果。往上滑動時,下面的會把上一項的標題頂上去,往下滑動時,下面的會把上面的拉下來。主要就兩個類: PinnedHeaderListView 繼承自 ListView ; TestAdapter 繼承自 BaseAdapter 上代碼:PinnedHeaderListView.java/* * Copyright (C) 2010 The Android Open Source Project * *
Time of Update: 2018-12-04
到底何為控制代碼,自從學習VC以來,這個問題一直困擾著我,最近我從微軟出版的《Windows 核心編程》一書中找到了比較好的答案,之前在百度、Googo等搜尋引擎中找到的答案都不令人滿意,大家都把控制代碼解釋為指標,標識一個對象,其實這個理解不完全正確。現在我將控制代碼表的結構如下: 我們知道,一個進程在初始化時,系統將為他分配一個控制代碼表(handle
Time of Update: 2018-12-04
轉自: http://www.cocoachina.com/bbs/read.php?tid=127653&fpage=2推聊概述 PushTalk
Time of Update: 2018-12-04
Time of Update: 2018-12-04
/** 演算法——求數組中最大子數組和*/#include <iostream>#include <vector>using namespace std;using std::vector;vector<int> ivec;int Max_SubArray(int *pia,int len,int *start_script,int *end_script) {int max_sum=0; int i; int temp_sum=0;
Time of Update: 2018-12-04
/***資料結構<一>*順序儲存鏈表的實現*/#include<iostream>using namespace std;typedef int ElemType; #define LIST_INIT_SIZE 100 //線性表格儲存體空間的初始分配量#define LISTINCREMENT 10 //線性表格儲存體空間的分配增量typedef struct{ElemType *elem; //儲存空間基地址,elem
Time of Update: 2018-12-04
門面模式,就是將一些複雜的小系統整合起來,為使用者的使用提供一個簡單的介面,統一一個高層介面給使用者使用,打個比方,電視的按鈕就是一個門面模式,因為我們換台只需要擰按鈕,而不必關心電視機裡面經曆了哪些過程。現在我用一個郵局遞信的例子來說明問題:我現在定義的郵局和現實中的郵局有些差別,假設有這樣一個郵局,當我們想發信時,我們只需要提供信的內容和地址,其他的都由郵局來做。那麼先定義寫信流程的介面:public interface LetterWriter{//寫信的內容public void
Time of Update: 2018-12-04
/***資料結構<二>*鏈式儲存線性表(有頭結點)*/#include <iostream>#include <stdlib.h>using namespace std;typedef int ElemType;typedef struct LNode{ElemType data;struct LNode *next;}LNode,*LinkList;//LNode 結構體類型,LinkList 結構體指標類型//構造一個空的線性表int
Time of Update: 2018-12-04
1、TCP是如何保證傳輸的可靠性?a、為了傳送的可靠性,發送方必須將發送的資料放入緩衝區b、為每個發送包啟動一個定時器,c、如果在定時器逾時之前,收到了接收方的應答,那麼發送成功。d、否則重發此包,直到成功為止。d、接收方收到包後,需要先進行CRC校正,無錯後交給上層協議,然後發送一個應答包,如果接收方有資料要發送,那麼應答包可以喝資料包一起發送。 2、TCP和UDP的簡單介紹TCP:傳輸控制通訊協定,是一種連線導向的可靠的傳輸協議,在發送資料前,要通過三向交握進行串連。TCP協議主要是通過逾
Time of Update: 2018-12-04
整合三個架構的步驟:1、建立一個Web工程2、將工程發布到tomcat3、首先配置struts資訊: a 手動拷貝需要的7個jar檔案(lib目錄) b 修改web.xml檔案(記得添加ContextLoaderListener) c struts.xml拷貝到src目錄 d 將struts整合spring外掛程式載入到lib (struts+spring完畢) 增加hibernate的支援myeclipse->...注意 一定選擇Copy checked library
Time of Update: 2018-12-04
在任何一個系統中,都會有登入介面,因為只有通過驗證的使用者才能訪問網路上的資源,在桌應用程式中,系統的入口就只有一個,那就是main函數,但是在b/s這種結構中,我們可以向伺服器請求任何一個頁面,也就是說有多個入口,那麼我們如何限制使用者只能通過登入這個介面進入系統呢,實現的方法有很多,現在介紹一種比較常用的方法,使用structs2中的攔截器: 首先我們定義一個攔截器:public class MyInterceptor implements Interceptor{public void
Time of Update: 2018-12-04
這是作業系統課上的一次作業,我是屬於旁聽去的,也許正是由於旁聽的緣故,對作業總是抱著一中拖延的心態,沒花什麼心思在這門課的作業上。這次的進程調度作業其實早已經上交了,這兩天想寫點程式了,順便更新下部落格裡面的內容。閑話少說,上程式了,不會組織語言,只能多寫點注釋了基本構造:使用資料結構struct
Time of Update: 2018-12-04
在平時的開發過程中,經常可以遇到表單重複提交的問題,如做一個註冊頁面,如果表單重複提交,那麼一個使用者就會註冊多次。首先來看看引起表單重複提交的原因。在頁面跳轉的時候,有兩種類型,請求轉寄和重新導向所謂請求轉寄是在伺服器端進行跳轉,對使用者是透明的,此時瀏覽器中的地址不會發生改變重新導向是在用戶端發生跳轉,跳轉時候瀏覽器中的地址欄會發生改變如果我們在註冊時,使用了請求轉寄,那麼當我們重新整理頁面時,就會引起表單的重複提交。 現在我們需要實現這樣的一個需求:想資料庫中添加一條記錄,添加成功後在另外
Time of Update: 2018-12-04
由於一年的時間都沒有寫過C代碼,所以今天犯了一個非常簡單的問題,就是講一個字串常量賦值給字元指標:即:char *str="Hello world",主要做是不行的,需要先定義一個字元數組:char data[]="Hello world",然後str=data; 下面展示一下將一個字串翻轉的代碼:#include "stdio.h"#include "String.h"void Reverse(char *str){char *tmp=str;char *q=tmp+strlen(tmp)-1
Time of Update: 2018-12-04
做web開發,經常要實現檔案的上傳功能,Struts2使用的是jakarta中的commons-fileupload-1.2.jar和commons-io-1.3.1.jar來實現檔案上傳的,所以必須將這兩個包放入lib目錄 實現檔案上傳必須將表單的提交方式設為post(預設為get),並將enctype設定為multipart/form-data.不然無法完成檔案上傳那麼現在咋們就開始實現檔案上傳吧1、完成一個上傳表單upload.jsp和下載頁面down.jsp<form
Time of Update: 2018-12-04
chkconfig命令主要用來更新(啟動或停止)和查詢系統服務的運行級資訊。謹記chkconfig不是立即自動禁止或啟用一個服務,它只是簡單的改變了符號串連。使用文法:chkconfig [--add][--del][--list][系統服務] 或 chkconfig [--level
Time of Update: 2018-12-04
前面兩篇文章我已經把線性表的順序儲存和鏈式儲存都實現了一次,還記得學資料結構的時候,看著老師給的代碼,覺得操作很簡單,自己再實現一次的時候,發現還是有很多需要考慮周全的。我們一直都是建立的有頭結點的鏈表,因為有頭結點的鏈表在操作起來很方便,尤其是在一些邊界處理上,不容易出錯,而且關鍵是比較好理解。無頭結點的單鏈表相比起來在邊界的處理上稍微要複雜一些了,容易出現錯誤,代碼也要難理解一些。我是在有頭結點的單鏈表上進行修改,添加了利用頭插法和尾插法建立鏈表的函數,保留了原來的在特定位置插入新結點的函數
Time of Update: 2018-12-04
典型的求最大子數組和的問題,在前面的一篇文章中已經討論過這個演算法了.STL標準庫為我們提供了一個更好操作的模版---vector, 相比數組, vector具有可動態增長的特點,不像數組一旦定義,空間就已經固定不變了。與我們可以用指標訪問數組一樣,我們使用迭代器(一種資料類型)來訪問容器內的元素。所以A掉這個題目並不難,下面就是ac代碼#include <iostream>#include <vector>using namespace std;using
Time of Update: 2018-12-04
自己本身在學習TCP/IP協議,對網際IP協議有些瞭解,在HDOJ上找到了關於這方面的題目,於是小練習一下ps:這題目WA了三次,最後發現原因居然是我用scanf輸入的緣故,在用scanf("%s",s)的情況下,我輸入0(空格)0(空格) 0(空格)