第一篇:JAVA四種基本排序的總結
JAVA四種基本排序,包括冒泡法,插入法,選擇法,SHELL排序法.其中選擇法是冒泡法的改進,SHELL排序法是 插入法的改進.所以從根本上來說可以歸納為兩種不同的排序方法:即:插入法&冒泡法
一 插入法:遍歷排序集合,每到一個元素時,都要將這個元素與所有它之前的元素遍歷比較一遍,讓符合排序順序的元素挨個移動到當前范圍內它最應該出現的位置。交換是相鄰遍歷移動,雙重循環控制實現.這種排序法屬于地頭蛇類型,在我的地牌上我要把所有的東西按一定的順序規整,過來一個,規整一個.處理代碼如下: public void sort(int[] data){ int temp;
for(int i=1;i〈data.length;i++){ for(int j=i;(j〉0)&&(data[j]〉data[j-1]);j--){
temp=date[j];data[j]=data[j-1];data[j-1]=temp;} } } 二冒泡法:比較容易,它的內層循環保證遍歷一次后,集合中最?。ù螅┰爻霈F在它的正確位置,下一次就是次小元素。。該方法在集合分布的各種情況下交換移動的次數基本不變,屬于最慢的一種排序。實現也是雙重循環控制。這種排序法屬于過江龍,就是要找到極端,但是過獎龍也有大哥,二哥等,所以他們只能是大哥挑了二哥挑.處理代碼如下: public static int [] maopao(int[] data){ int temp;
for(int i=0;i〈data.length-1;i++){ for(int j=i+1;j〈data.length;j++〉{ if(data[i]〈data[j]〉{ temp=data[i];data[i]=data[j];data[j]=temp;} 〉 〉
return data;
三選擇法:該方法只是通過遍歷集合記錄最?。ù螅┰氐奈恢?,一次遍歷完后,再進行交換位置操作,類似冒泡,但在比較過程中,不進行交換操作,只記錄元素位置。一次遍歷只進行一次交換操作。這個對與交換次序比較費時的元素比較適合。這種排序法比冒泡法要城府要深的多,我先記住極端數據,待遍歷數據完了之后,我再處理,不像冒泡法那樣只要比自己極端一點的就要處理,選擇法只處理本身范圍內的最極端數據.public static void xuanze(int[] data){ int temp;
for(int i = 0;i 〈 data.length;i++〉 { int lowIndex = i;
for(int j = data.length-1;j)i;j--){ if(data[j])data[lowIndex]){ lowIndex = j;} } temp=data[i];
data[i]=data[lowIndex];data[lowIndex]=temp;} } 四 Shell排序:
它是對插入排序的一種改進,是考慮將集合元素按照一定的基數劃分成組去排序,讓每一組在局部范圍內先排成基本有序,最后在進行一次所有元素的插入排序。public void sort(int[] data){ for(int i=data.length/2;i)2;i/=2){ for(int j=0;j〈i;j++〉{ insertSort(data,j,i);} 〉
insertSort(data,0,1);〉
private void insertSort(int[] data, int start, int inc){ int temp;
for(int i=start+inc;i〈data.length;i+=inc〉{ for(int j=i;(j)=inc)&&(data[j]〈data[j-inc]〉;j-=inc〉{ temp=data[j];data[j]=data[j-inc] data[j-inc]=temp;} 〉 〉
第二篇:Java排序總結
倒敘排序
第一種利用一個數組來盛放后,再來倒敘輸出 public class daoxu {
} 第二種利用一個變量來轉換后,倒序輸出 public class daoxu {
public static void main(String[] args{ int[] arr[] ={2,4,6,87,13,15};for(int i = 0;i < arr.length/2;i++){ int temp = arr[i];public static void main(String[] args){
int[] arr ={2,4,6,8,7,1,3};int[] num =new int[arr.length];for(int i = 0;i < arr.length;i++){
}
} } for(int i = 0;i < num.length;i++){ System.out.print(“ ”+num[i]+“ ”);num[i] = arr[arr.length1];num[arr.length1] = arr[i];
arr[i] =arr[arr.length-i-1 ];
arr[arr.length-i-1] =temp;
} for(int i = 0;i < arr.length;i++){
System.out.print(arr[i] +“ ”);} } }
冒泡排序(1.是將其升序排布)
public class maopao { public static void main(String[] args){
int[] arr = {2,5,8,9,1,0,25};
for(int i = 0;i < arr.length;i++){ for(int j = 0;j < arr.length-i-1;j++){
//2.arr[j+1] > arr[j],則其會降序輸出
if(arr[j+1] int temp = arr[j]; 如果將其 } } } } arr[j] = arr[j+1];arr[j+1] = temp;} for(int i = 0;i < arr.length;i++){ } System.out.print(arr[i]+“ ”);升序排列 import java.util.Arrays; public class shengxu { public static void main(String[] args){ int[] arr = {1,5,0,2,10,4,78,9};Arrays.sort(arr);for(int i = 0;i < arr.length;i++){ } System.out.print(arr[i]+“ ”);} } 降序排列 第一種先升序再降序 import java.util.Arrays;public class jiangxu { } 第二種利用冒泡排序,然后再將其反向輸出 public class maopao { public static void main(String[] args){ } int[] arr ={2,4,6,8,0,1,3,15,89,5};Arrays.sort(arr);for(int i = 0;i < arr.length/2;i++){ } for(int i = 0;i < arr.length;i++){ } System.out.print(arr[i]+“ ”);int temp = arr[i];arr[i]=arr[arr.length-i-1];arr[arr.length-i-1]= temp; } public static void main(String[] args){ } } for(int i = arr.length-1;i >=0;i--){ } System.out.print(arr[i]+“ ”);int[] arr = {2,5,8,9,1,0,25};for(int i = 0;i < arr.length;i++){ for(int j = 0;j < arr.length-i-1;j++){ } if(arr[j+1] } int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;第三種利用冒泡排序的倒敘輸出 public class maopao { public static void main(String[] args){ int[] arr = {2,5,8,9,1,0,25};for(int i = 0;i < arr.length;i++){ } } for(int j = 0;j < arr.length-i-1;j++){ } if(arr[j+1]>arr[j]){ } int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;} for(int i = 0;i 一、標識符及字符集 Java語言規定標識符是以字母、下劃線“_”或美元符號“$”開始,隨后可跟數字、字母、下劃線或美元符號的字符序列。Java標識符大小寫敏感,沒有長度限制,可以為標識符取任意長度的名字,但關鍵字不能作為標識符。為增強程序可讀性,Java作如下的約定: 1.類、接口:通常使用名詞,且每個單詞的首字母要大寫 2.方法:通常使用動詞,首字母小寫,其后用大寫字母分隔每個單詞 3.常量:全部大寫,單詞之間用下劃線分隔 4.變量:通常使用名詞,首字母小寫,其后大寫字母分隔每個單詞,避免使用$符號。 Java語言使用國際字符集(Unicode)。Unicode字符集定義了一套國際標準字符集。通常的ASCII碼是8位的,而Unicode字符集中的每個字符占16位,即2個字節,整個字符集共包括65336個字符,兼容ASCII,排在Unicode字符集最前面的256個字符就是ASCII碼。Unicode除了可以表示256個ASCII碼外,還可以表示漢字、拉丁語、希臘字母、朝鮮語等。 Java標識符總結:1.由字母、數字、_或$組成,不能以數字開頭;2.嚴格區分大小寫;3.長度不限 二、關鍵字 Java常用關鍵字列表如下: 關鍵字 含義 用在類的聲明中來指明一個類是不能被Abstract 實例化的,但是可以被其它類繼承。一個抽象類可以使用抽象方法,抽象方法不需要實現,但是需要在子類中被實現 Boolean Break 布爾類型,只有true或者false 停止,并跳出本層循環 8bit(位),也就是8個1/0表示,即二進制 Byte 用來定義一組分支選擇,如果某個值和Case switch中給出的值一樣,就會從該分支開始執行。 用來聲明當try語句塊中發生運行時錯誤或非運行時異常時運行的一個塊。用來定義一個字符類型 類 在Java中,const是作為保留字以備擴充,同樣的保留字以備擴充還有goto.你Const 可以用final關鍵字.final也可以用于聲明方法或類,被聲明為final的方法或類不能被繼承。一般C里是const 對應java用final 用來打斷當前循環過程,從當前循環的最Continue 后重新開始執行,如果后面跟有一個標簽,則從標簽對應的地方開始執行。配合switch跟case使用,但case中沒Default 有找到匹配時,則輸出或者為default后面的語句。 用來聲明一個循環,這個循環的結束條件可以通過while關鍵字設置 用來定義一個double類型的變量 如果if語句的條件不滿足就會執行該語句。Catch Char Class Do Double Else Extends extends 繼承 類X 通過extend 類Y來 添加功能,或者添加變量,或者添加方法,或者覆蓋類Y的方法。一個接口extends另外一個接口來添加方法。 False 假的 一個Java語言的關鍵字。你只能定義一個實體一次,以后不能改變它或繼承它。Final 更嚴格的講:一個final修飾的類不能被子類化,一個final修飾的方法不能被重寫,一個final修飾的變量不能改變其初始值。 用來執行一段代碼不管在前面定義的try語句中是否有異?;蜻\行時錯誤發生。用來定義一個浮點數變量 用來聲明一個循環。程序員可以指定要循環的語句,推出條件和初始化變量。雖然為Java關鍵字,但是僅在C語言里面使用,Java不提供Goto語句 Java編程語言的一個關鍵字,用來生成一If 個條件測試,如果條件為真,就執行if下的語句。 Java(TM)編程語言的一個關鍵字,在類的Implements 聲明中是可選的,用來指明當前類實現的接口。 Java(TM)編程語言的一個關鍵字,在源文Import 件的開始部分指明后面將要引用的一個類或整個包,這樣就不必在使用的時候加Finally Float For Goto 上包的名字。 一個二操作數的Java(TM)語言關鍵字,用Instaceof 來測試第一個參數的運行時類型是否和第二個參數兼容。 Java(TM)的一個關鍵字,用來定義一個整形變量 Java(TM)的一個關鍵字,用來定義一系列Interface 的方法和常量。它可以被類實現,通過implements關鍵字。 Long Native New 用來定義一個long類型的變量 本地方法。 用來創建一個新的方法 當String類型沒賦值時,該變量的值為Null 包的意思 用在方法或變量的聲中。它表示這個方法或變量只能被這個類的其它元素所訪問。在方法和變量的聲明中使用,它表示這個Protected 方法或變量只能被同一個類中的,子類中的或者同一個包中的類中的元素所訪問。在方法和變量的聲明中使用,它表示這個方法或變量能夠被其它類中的元素訪問。Int Null Package Private Public Return 用來結束一個方法的執行。它后面可以跟 一個方法聲明中要求的值。 Short 用來定義一個short類型的變量。用來定義一個變量為類變量。類只維護一個類變量的拷貝,不管該類當前有多少個Static 實例?!皊tatic” 同樣能夠用來定義一個方法為類方法。類方法通過類名調用而不是特定的實例,并且只能操作類變量。 Super 父類 是一個選擇語句,與case,default,break一起使用。線程同步 用來代表它出現的類的一個實例。this可以用來訪問類變量和類方法。 允許用戶拋出一個exception對象或者任何實現throwable的對象 用在方法的聲明中來說明哪些異常這個Throws 方法是不處理的,而是提交到程序的更高一層。 用來表示一個域不是該對象串行化的一部分。當一個對象被串行化的時候,Transient transient型變量的值不包括在串行化的表示中,然而非transient型的變量是被包括進去的。Switch Synchronized This Threadsafe Throw True 真的 用來定義一個可能拋出異常語句塊。如果一個異常被拋出,一個可選的catch語句Try 塊會處理try語句塊中拋出的異常。同時,一個finally語句塊會被執行,無論一個異常是否被拋出。 用在Java語言的方法聲明中說明這個方Void 法沒有任何返回值。“void”也可以用來表示一句沒有任何功能的語句。 用在變量的聲明中表示這個變量是被同時運行的幾個線程異步修改的。用來定義一段反復執行的循環語句。循環的退出條件是while語句的一部分。volatile while 分類如下: 1.訪問控制:private 私有的 protected 受保護的 public 公共的 2.類、方法和變量修飾符abstract 聲明抽象 class 類 extends 擴允,繼承 final 終極,不可改變的implements實現 interface 接口 native 本地 new 新,創建 static 靜態 strictfp 嚴格,精準synchronized 線程,同步 transient 短暫 volatile 易失 3.程序控制語句 break 跳出循環 continue 繼續 return 返回 do 運行 while 循環 if 如果 else 反之 for 循 instanceof 實例 switch 開關 case 返回開關里的結果 default 默認 4.錯誤處理 catch 處理異常 finally 有沒有異常都執行 throw 拋出一個異常對象 throws 聲明一個異??赡鼙粧伋?try 捕獲異常 5.包相關import 引入 package 包 6.基本類型 boolean 布爾型 byte 字節型 char 字符型 double 雙精度 float 浮點 int 整型 long 長整型 short 短整型 null 空 true 真 false 假 7.變量引用 super 父類,超類 this 本類 void 無返回值 注意: 1、所有的java關鍵字都是小寫的 2、goto 和const 是保留關鍵字,在java 中沒使用 3、strictfp 和volatile 不常用; sizeof、then 不是關鍵字。4、true,false,null 不是嚴格意義上的關鍵字,而是literals 三、運算符 Java基 本 的 運 算 符 按功能分有 下 面 幾 類 : 1.算 術 運 算 符(+,-,*,/,%,++,--)Java對 加 運 算 符 進 行 了 擴 展 ,使 它 能 夠 進 行 字 符 串 的連 接,如 “abc”+“de”,得到 串 “abcde”。與 C、C++不 同 ,對 取 模 運 算 符 %來 說 ,其 操 作 數 可 以為浮點 數 , 如37.2%10=7.2。i++與 ++i的 區 別:i++在 使 用 i之 后 ,使 i的 值 加 1,因 此 執 行 完 i++后 ,整 個 表達式的 值 為 i,而 i的 值變 為 i+1;++i在 使 用 i之 前 ,使 i的 值 加 1,因 此 執 行 完 ++i后 ,整 個 表達式和 i的 值 均 為 i+1。 2.關 系 運 算 符(>,<,>=,<=,==,!=)該運算符的特點是:運算完的結果,要么是true,要么是false。Java中 ,任 何 數 據 類 型 的 數 據(包 括 基 本 類 型 和 組 合 類 型)都可 以 通 過 ==或!=來 比 較 是 否 相 等(這 與 C、C++不 同)。關 系 運 算 符 用 來 比 較 兩 個 值 ,返 回 布 爾 類 型 的值true或 false,而不是C、C++中 的 1或 0。 3.布 爾 邏 輯 運 算 符(& | ^!&& ||)邏輯運算符除了!外都是用于連接兩個boolean類型表達式。&: 只有兩邊都為true結果是true。否則就是false。|:只要兩邊都為false結果是false,否則就是true ^:異或:和或有點不一樣。兩邊結果一樣,就為false。兩邊結果不一樣,就為true.& 和 &&區別: & :無論左邊結果是什么,右邊都參與運算。&&:短路與,如果左邊為false,那么右邊不參數與運算。| 和|| 區別:|:兩邊都運算。 ||:短路或,如果左邊為true,那么右邊不參與運算。4.位 運 算 符(>>,<<,>>>,&,|,^,~)用于操作二進制位的運算符,如2*8 = 2<<3。>>>(無符號右移)5.賦 值 運 算 符(= +=-= *= /= %=)6.條 件 運 算 符(?:)7.其 它(包 括 分 量 運 算 符 · ,下 標 運 算 符 [],實 例 運 算 符 instanc eof,內 存 分 配運 算 符 new,強 制 類 型 轉 換 運 算 符(類 型), 方 法調 用 運 算 符()等)例子:對兩個變量的數據進行互換。不需要第三方變量。 int a = 3,b = 5;-->b = 3,a = 5;a = a + b;a = 8;b = ab;a = 5;a = a ^ b;// b = a ^ b;//b = a ^ b ^ b = a a = a ^ b;//a = a ^ b ^ a = b; Java 中共有 54 種運算符,按優先級可以分為 14 級: 優先級 操作符 含義 關聯性 用法 --1 [ ] 數組下標 左 array_name[expr].成員選擇 左 object.member ()方法參數 左 method_name(expr_list)()實例構造 左 class_name(expr_list)++ 后綴自增 左 lvalue++--后綴自減 左 lvalue--2 ++ 前綴自增 右 ++rvalue--前綴自減 右--lvalue ~ 按位取反 右 ~expr!邏輯非 右!expr + 一元加 右 +expr減 左 expr-expr + 字符串連接 左 strExpr + strExpr 6 >> 有符號右移 左 expr >> distance >>> 無符號右移 左 expr >>> distance 7 < 小于 左 expr < expr <= 小于等于 左 expr <= expr > 大于 左 expr > expr >= 大于等于 左 expr >= expr instanceof 類型比較 左 ref instanceof refType == 等于 左 expr == expr!= 不等于 左 expr!= expr & 整數按位與 左 integralExpr & integralExpr & 布爾與 左 booleanExpr & booleanExpr 9 ^ 整數按位異或 左 integralExpr ^ integralExpr ^ 布爾異或 左 booleanExpr ^ booleanExpr 10 | 整數按位或 左 integralExpr | integralExpr | 布爾或 左 booleanExpr | booleanExpr 11 && 邏輯與 左 booleanExpr && booleanExpr 12 || 邏輯或 左 booleanExpr || booleanExpr 13 ? : 條件運算 右 booleanExpr ? expr : expr 14 = 賦值 右 lvalue = expr *= 乘賦值 右 lvalue *= expr /= 除賦值 右 lvalue /= expr %= 模賦值 右 lvalue %= expr += 加賦值 右 lvalue += expr += 字符串連接賦值 右 lvalue += expr-= 減賦值 右 lvalue-= expr <<= 左移賦值 右 lvalue <<= expr >>= 有符號右移賦值 右 lvalue >>= expr >>>= 無符號右移賦值 右 lvalue >>>= expr &= 整數按位與賦值 右 lvalue &= expr &= 布爾與賦值 右 lvalue &= expr |= 整數按位或賦值 右 lvalue |= expr |= 布爾或賦值 右 lvalue |= expr ^= 整數按位異或賦值 右 lvalue ^= expr ^= 布爾異或賦值 右 lvalue ^= expr 運算符不但有優先級,還有關聯性。上表中關聯性為“左”表示該表達式從左邊開始進行運算;關聯性為“右”表示該表達式從右邊開始進行運算。 四、流程控制語句(If、switch、do while、while、for、break、continue)1.當判斷數據范圍,獲取判斷運算結果boolean類型時,需要使用if;當判斷固定個數的值的時候,可以使用if,也可以使用switch。但是建議使用switch,效率相對較高。switch(變量){ case 值:要執行的語句;break;… default:要執行的語句;} 工作原理:用小括號中的變量的值依次和case后面的值進行對比,和哪個case后面的值相同了就執行哪個case后面的語句,如果沒有相同的則執行default后面的語句; 細節:1):break是可以省略的,如果省略了就一直執行到遇到break 為止; 2):switch 后面的小括號中的變量應該是byte,char,short,int四種類型中的一種; 3):default可以寫在switch結構中的任意位置;如果將default語句放在了第一行,則不管expression與case中的value是否匹配,程序會從default開始執行直到第一個break出現。 2.當某些語句需要執行很多次時,就用循環結構。 while和for可以進行互換。區別在于:如果需要定義變量控制循環次數。建議使用for。因為for循環完畢,變量在內存中釋放。 3.break:作用于switch,和循環語句,用于跳出,或者稱為結束。break語句單獨存在時,下面不要定義其他語句,因為執行不到,編譯會失敗。當循環嵌套時,break只跳出當前所在循環。要跳出嵌套中的外部循環,只要給循環起名字即可,這個名字稱之為標號。4.continue:只作用于循環結構,繼續循環用的。作用:結束本次循環,繼續下次循環。該語句單獨存在時,下面不可以定義語句,執行不到。 四種基本偵查模式 一、從案到人 二、從人到案 三、從案到案 四、從物到案 “從案到人” 基本步驟:受理、立案→現場勘查→調查訪問→采取各種偵查措施→發現犯罪嫌疑線索→查明并抓獲犯罪嫌疑人→訊問→破案。 主要適用于:殺人、放火、爆炸、投毒等因果關系比較明顯的案件;現場有明顯犯罪線索的案件;發生在相關靜態區域內的案件等。 “從案到人”是一種針對現行犯罪的傳統的偵查模式,為廣大偵查人員熟悉,適用于大多數刑事案件。 該模式偵查意圖方向清楚,地區明確,針對性強,在偵查工作中發揮著主導作用。 “從案到人”的缺點: 具有被動性和滯后性,效率較低,資源消耗大,是一種以人力勞動為特征的粗放型破案方式。 用它來對付現代的流竄犯罪、智能犯罪、經濟犯罪、系列犯罪,有明顯的不適應之處。 二、“從人到案” “從人到案”是指偵查人員以各項偵查基礎業務、專門偵查手段為依托,從個體或群體在特定或者不特定場所暴露出的、與已知或未知的犯罪相關聯的嫌疑活動或嫌疑信息入手,確認其行為性質或確診其與特定聯系案件之間的偵查方式。 “從人到案”的偵查模式是圍繞著犯罪嫌疑人是否實施以及實施了哪些犯罪行為展開工作的。 “從人到案” 這里的“人”是指刑嫌調控、陣地控制、情報信息工作中發現的犯罪嫌疑人,或者是辦理團伙犯罪案件中發現的新的犯罪成員,在審理現行犯罪中發現余罪未清的慣犯、流竄犯,及其他在辦案中擴大戰果進而發現的嫌疑對象等。 這里的“案”是指犯罪嫌疑人著手準備的預謀案件、正在實施的現行案件、久偵未破的積案和尚未發現的隱案等。 “從人到案”特點 “從人到案”的思維進程是從已知對象的基本情況和反?,F象出發,確定犯罪嫌疑人予以控制,查明與之有關的而偵查機關尚未發現的案情。 基本步驟:獲取線索→分析犯罪情報→“對人”立案→制定偵查方案→全面推進偵查→發現犯罪行為→獲取并審查證據→破案。 “從人到案” “從人到案”可以通過檢索情報信息,以人找案,主動出擊,或者在獲取進行重大犯罪的犯意線索之后,從人入手偵破和控制預謀犯罪。 也可以從在押犯罪嫌疑人入手,通過調查取證深挖余罪,擴大戰果。 因而,加強情報信息工作,深入調查取證是該偵查模式的核心內容。 適用范圍: 流竄犯罪,外來人口犯罪和跨地區大范圍跳躍式犯罪,因果關系不明朗的侵財型等多發性案件,現場痕跡物證不明顯的案件等。 “從人到案” “從人到案”是以人中心開展偵查,即通過對被管理、被控制的嫌疑對象主動開展全方位的情報調查和對有關情報信息的分析研究,發現違法犯罪線索和證據,進而破案。 偵查起點是從各方面的情報信息中發現犯罪嫌疑人,以此作為偵查的切入點。因而,對刑事偵查基礎工作,特別是情報信息工作依賴很大。 刑偵基礎工作 1、情報資料:各種情報信息的收集、研判(“情報主導偵查”),違法犯罪人員信息庫的建設和維護(有前科者的重新犯罪率30—40%)。 2、刑嫌調控:是公安機關對刑事犯罪嫌疑人員秘密進行登記、調查,為偵查破案發現線索、預防、控制犯罪的一項基礎業務工作。 所謂刑嫌人員,是指具有實施犯罪的主觀因素,有可能犯罪,又有犯罪可疑跡象,尚未掌握其已進行犯罪的事實,不能對其立案偵查的人員。 主要偵查措施 3、陣地控制:是指偵查機關在犯罪嫌疑人經?;顒拥牡攸c、行業、場合(復雜場所、特種行業),建立公開和秘密的力量,用以發現偵查線索和查緝犯罪嫌疑人的一項偵查措施。 4、刑事特情:是公安機關偵查部門領導和指揮的,同刑事犯罪活動作斗爭的特殊的秘密工作力量。 其主要任務用于搜集刑事犯罪活動情報,進行專案偵查,發現、控制犯罪嫌疑人和控制重要復雜場所以及用于獄內偵查。 “刑事特情”是公安機關內部使用的專用名詞,不得對外公開和向特情本人宣布。 偵查的主線是先“人”后“案”,將偵查工作放在案前,具有一定的主動性。 體現了“主動進攻、先發制人”的戰略思想,突破了以案為偵查起點的傳統模式,提高了偵查機關發現、預防、控制和和打擊預謀犯罪的能力。 兩種模式思維方式比較 (一)“從案到人”的思維方法 主要運用演繹思維方法,是從犯罪現場的的客觀情況回溯推理,確定、查獲犯罪嫌疑人,從而破案。 主要是一種線型的偵查活動,以案件現場為中心,判明案件性質,刻畫犯罪嫌疑人,明確偵查方向與范圍,擬定偵查方案,開展偵查活動。 (二)“從人到案”的思維方法 主要運用的是歸納思維方法,是從眾多的情報信息中綜合分析發現犯罪嫌疑人,從可疑跡象中查明犯罪事實、獲取證據,從而破案。 是一種發散型的偵查活動,以情報信息為基礎,由面到點,再由點到面,開展外圍偵查和內線控制,獲取證據、適時破案。 三、“從案到案” “從案到案”,是指在偵查案件時,將可能是同一個或同一伙犯罪分子思維的其他刑事案件串并起來,綜合分析和利用每起案件所蘊涵的犯罪信息和破案條件,選擇有利的偵查突破口,實現偵破一案帶破彼案的目的。 思維方法:類比思維 類比思維,是根據兩個或兩類事物的部分屬性相同或相似,從而推出其余屬性相同的推理。 類比思維理主要運用于并案偵查。 并案根據: “硬件”包括指紋、足跡、工具痕跡、DNA、筆跡、微量物證、槍彈痕跡等; “軟件”是指偵查人員在前者基礎上,通過主觀分析得出的犯罪動機、犯罪心理、作案規律、作案手段、犯罪嫌疑人應當具備的條件等“主觀推論”。 四、從物到案 “從物到案”,是指通過對各種疑似被盜、被搶的物品開展偵查,發現線索,查找犯罪嫌疑人,破獲案件的方式。 “從物到案”,是以對贓物或其他特定物品(如違禁物品)的嚴密查控為前提和基礎的。 四種偵查模式各有其獨特功能,不可偏廢、相互取代。四者是相互聯系、互為補充、相輔相成的關系。 在特定案件偵查中,往往是通過幾種模式相互結合偵破案件的。 /*選擇排序*/ public class SelectSort2 { public static void sort(int[] tempArr){ for(int i =0;i { /* 當初錯誤認為此處與冒泡排序極為相像,甚至覺得選擇排序與冒泡排序毫無差別,其實相反,冒泡循環意味著每一次 循環都會將相鄰的兩個數比較這樣每次都會排出數組中最大或最小的數。然后再次執行外層循環,再繼續進入內層循環 再依次進行比較。 選擇排序則是,第一次循環:咬定第一個數角標i=0的元素,依次與后面的元素比較,將最小或最大的數排出來,再進入 外層的第二次循環,并且此時咬定的數為角標為1的元素,但因為之前已將全數組中最小或最大的數排出所以沒有必要再 與數組中角標為零得數比較 而是通過 j=i+1 將待比較的角標變成[ 2、3、...、tempArr.length)。 */ for(int j =i+1;j { if(tempArr[i]>tempArr[j]) { int temp = tempArr[i]; tempArr[i] = tempArr[j]; tempArr[j] = temp; } } } } public static void arrPrint(int[] tempArr){ System.out.print(“[”); for(int i = 0;i { if(i!= tempArr.length-1) { System.out.print(tempArr[i]+“,”); } else { System.out.println(tempArr[i]+“]”); } } } public static void main(String args[]){ int[] arr = new int[]{10,2,-7,8,1,12,6,7,9,3};arrPrint(arr);sort(arr);arrPrint(arr);} } /*冒泡排序*/ public class MpSort2 { public static void sort(int[] tempArr){ for(int i = 0;i { for(int j = 0;j { if(tempArr[j]>tempArr[j+1]) { int temp = tempArr[j]; tempArr[j] = tempArr[j+1]; tempArr[j+1] = temp; } } } } public static void arrPrint(int[] tempArr){ System.out.print(“[”); for(int i = 0;i { if(i!= tempArr.length-1) { System.out.print(tempArr[i]+“,”); } else { System.out.println(tempArr[i]+“]”); } } } public static void main(String[] args){ int[] arr = new int[]{10,2,-7,8,1,12,6,7,9,3}; arrPrint(arr); sort(arr); arrPrint(arr);} }第三篇:java基本語法總結
第四篇:四種基本偵查模式
第五篇:冒泡排序及選擇排序Java實現心得