原创 和爲s的兩個數字與和爲s的連續正數序列

題目一:輸入一個遞增排序的數組和一個數字s,在數組中查找兩個數,使得它們的和正好是s。如果有多對數字的和等於s,則輸出任意一對即可。分析:選擇數組的兩端,將其相加,然後與s比較,如果比s大,則將指向數組最後的向前移一位,如果小於s,則指向數

原创 翻轉單詞順序與左旋轉字符串

題目一:輸入一個英文句子,翻轉句子中單詞的順序。但是單詞內字符的順序不變。爲簡單起見,標點符號和普通字母一樣處理。例如輸入字符串“I am a student.”,則輸出"student. a am I"。分析:經典題目。先將整句翻轉,再將

原创 數據結構之二叉搜索樹的實現

二叉搜索樹的接口類public interface BinarySearchTree extends BinaryTree {     Object find(Object obj);     Object update(Object ob

原创 設計模式之觀察者模式實例

    設計者模式屬於行爲模式,其意圖是定義對象之間的一種一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於他的對象都得到通知並自動更新。下面通過例子來說明這一模式。首先是高層的觀察者接口IObserver.javapublic in

原创 不用加減乘除做加法

題目:寫一個函數,求兩個整數之和,要求在函數體內不得使用+,-,*,/四則混合運算。分析:利用位運算進行加法實現:int Add(int num1,int num2) {     int sum,carry;     do     {   

原创 各種排序算法的總結

一、交換排序1. 冒泡排序法public static void bubbleSort(Object a[],int n) { if(n>a.length){ System.out.printf("êènóDó£í£13ìDò£");

原创 把字符串轉換成整數

題目:寫一個函數,實現把字符串轉換成整數這個功能。不能使用atoi或者其他類似的庫函數。分析:題目不難,但是考慮的問題較多,例如字符串爲NULL,字符串爲“”,以及合法字符有哪些('0'~'9'和‘+’、'-'),正負數問題,以及字符串中只

原创 數據結構之線性表實現

線性表接口List的定義如下:public interface List { Object Value(int pos); boolean add(Object obj,int pos); Object remove(int pos)

原创 設計模式之外觀模式實例

    外觀模式的意圖是:爲了給子系統中的一組接口提供一個一致的界面,外觀模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。外觀模式解決了客戶所要使用的系統中由於子系統過多導致的客戶使用困難的情況。下面採用一個汽車系統的例子說明此

原创 不能被繼承的類

題目:c++設計一個不能被繼承的類。解法一:把構造函數設爲私有函數。class SealedClass1 { public:     static SealedClass1* GetInstance()     {         retu

原创 撲克牌的順子

題目:從撲克牌中隨機抽5張牌,判斷是不是一個順子,即這5張牌是不是連續的。2~10爲數字本身,A爲1,J,Q,K分別爲11,12,13,而大小王可以看成任意數字。分析:我們假定大小王爲0,首先將數組排序,再統計數組中的0的個數,最後統計排序

原创 求1+2+3+...+n

題目:求1+2+3+...+n。要求不能使用乘除法,for、while、if、else、switch、case等關鍵字以及條件判斷語句(A?B:C).方法一:利用構造函數class Temp {     public:         Te

原创 圓圈中最後剩下的數字

題目:0,1,2,...,n-1這n個數字排成一個圈,從數字0開始每次從這個圓圈中刪除第m個數字。求出這個圓圈裏剩下的最後一個數字。分析:利用環形鏈表模擬圓圈。總共有n個結點,每次都在這個鏈表中刪除第m個結點。實現如下:int LastRe

原创 查找算法的實現

1.順序查找算法public static int sequenceSearch(Object[] a,Object x,int n) {     a[n]=x;     int i;     for(i=0;;i++)         i

原创 數據結構之線性表實現

線性表接口List的定義如下:public interface List { Object Value(int pos); boolean add(Object obj,int pos); Object remove(int pos)