原创 java的>>和>>>右移運算符講解

可以先到這裏瞭解下計算機的基礎知識:原碼, 反碼, 補碼 詳解 計算機在運算的過程中採用補碼,符號位和補碼的出現使計算機可以不用減法計算。 ^_^ 1. 對於非負數,這兩個運算符的作用相同,將原數轉換成二進制數後,右移得到結果。

原创 二叉排序樹

/* 二叉排序樹,這裏例子的結點只給出關鍵字 key 插入過程相當於動態排序,可以有折半搜索和線性搜索的性質 最差情況是導致線性搜索,例如下面的例子都是右子樹 改進可以用平衡二叉樹或稱AVL樹或稱紅黑樹,從而壓縮樹深度,越接近折

原创 排序算法

#include<iostream> using namespace std; void out(int *arr,int len) { for(int i=0; i<len; i++) { printf("%d ",arr[i

原创 折半查找

/** 折半查找:要求表順序存儲和元素關鍵字有序排列,適用於表不易變動且需頻繁查找的情況。 查找過程可以用一棵二叉樹表示 實質是根據現有條件,不同的思路來剪枝,最終的效果是訪問的事物少了 */ #include<iostrea

原创 js拖拽效果

//實現了拖拽功能 //$(selector).swipe({ // swipeHorizontal: true, 可橫向拖動 // swipeVertical: true 可縱向拖動 // swipe

原创 http請求響應

1. 大致過程如下:    a.輸入域名    b.查找域名對應的IP地址    c.瀏覽器想WEB服務器發送一個http請求    d.服務器處理請求,然後返回一個響應    e.瀏覽器處理響應,並顯示出最終效果2. 三次握手建立連接:

原创 IT技術的學習方法

說到底需要花時間精力投入進去,需要一點思考的興趣。 入門時拿一本書或一套視頻來照着練習玩就可以了,然後就可以拿個小項目來實戰了。在實戰的過程中來繼續鞏固深入,中間在查找資料的過程中,首選是官方技術文檔,最後纔是別人總結的博客。做完一個項目

原创 鏈棧

/** 頭結點:如果沒有頭結點那麼插入和刪除就會多一種情況要處理。 //這裏如果沒有頭結點,當root開始爲空,導致新建第一個結點找不到。 */ #include<iostream> using namespace std; str

原创 瀏覽器盒模型

1.爲什麼需要盒模型?每個html標籤類似一個盒子,有content,margin,padding,border等屬性。程序編寫的一個要點是控制變化和不變的部分,若是變化部分則可以將其抽離出來,以免影響不變的部分;若是不變的部分則可以將其

原创 js new操作符

new操作符創建一個對象,大致會執行幾個步驟:1. 創建一個空對象2. 將函數的prototype賦值給空對象的__proto__屬性3.最後將構造函數的this指針指向新創建的空對象,並執行該函數,最後返回創建的對象 點贊

原创 js數據類型

記下:現在的ECMAScript定義了7種數據類型:    6種原始數據類型:        Boolean        Null        Undefined        Number        String       

原创 鏈隊列

/** 頭結點:如果沒有頭結點那麼插入和刪除就會多一種情況要處理。 //這裏如果沒有頭結點,當root開始爲空,導致新建第一個結點找不到。 */ #include<iostream> using namespace std; str

原创 瀏覽器的渲染過程

1. 瀏覽器是‘自上而下’解析html文檔的,並且一邊解析一邊渲染。    構建DOM樹 -> 構建render樹 -> 佈局render樹 -> 繪製render樹渲染引擎沒等完全構建完DOM樹就開始構建佈局繪製render樹,即解析一

原创 js 閉包

1. 閉包的形成    閉包在代碼運行後,函數和它的外部作用域的變量一起構成的組合,存在於內存中。2. 閉包的用途    a.模擬私有方法(控制程序中不易變化的部分)3. 一個常見錯誤:在循環中創建閉包,解決方法    a. 使用匿名閉包

原创 瀏覽器多個標籤頁之間的通信

1.localStorage在添加刪除修改時會觸發一個storage事件,通過在另一個標籤頁監聽storage事件,就可以得到localStorage存儲的值,實現不同頁面之間的通信。2.使用cookie,將要傳遞的信息存儲在cookie