原创 c語言 *p++與(*p)++、*(p++)三者異同?

1.*p++與*(p++)是等價的,表示取p所指單元的值,p指向下一單元,即p自加1。 2.(*p)++表示取p所指單元的值,這個單元的值自加1。 大家可以寫個小程序自測一下。

原创 java創建線程的四種方式

參考自:http://blog.csdn.net/longshengguoji/article/details/41126119 java創建線程的三種方式 1. 繼承Thread類創建線程類 package com.thread

原创 計算機基本運算(乘除法)

一、乘法 1. 計算表達式:x*y  (其中y = 2^n0+2^n1+2^n2+2^n3+2^n4.....)   則x*y = (x)*( 2^n0+2^n1+2^n2+2^n3+2^n4.....)= (x*2^n0)+(x*2^

原创 冒泡排序、插入排序

冒泡排序: package com.sort; /** * 冒泡排序類 * @author Maggie * */ public class BubbleSort { public void sort(int[] array)

原创 計算機基本運算(加減法)

學習計算機加減法首先得了解計算機數的三種編碼:原碼、反碼、補碼。尤其是補碼。 關於三種編碼之前做過簡單的介紹,請參考我的另一篇博客:三種計算機編碼 一、計算機加(減)法原理 我們常常會遇到兩個大數相加爲負的情況,在瞭解計算機加法原理之後

原创 多線程——線程同步

參考:http://blog.csdn.net/zhangerqing/article/details/8284609 想必大家都知道線程安全問題:如果一個對象的狀態是可變的,並且他有是共享的,可以被多個線程同時方案,則存在線程安全問題。

原创 快速排序法

package com.sort; /** * 快排類 * 思路:分割和遞歸 * 分割:將比基準數(第一個)小的放左邊,大的放右邊 * 遞歸:快排方法下調用分割,再快排。不斷遞歸 * @author Maggie * */

原创 使用異或運算交換兩個變量的危險

我們知道,在排序算法中經常會需要交換序列中的兩個變量,常見有兩種方法: 1.藉助第三個臨時變量 // 交換 int temp = array[i]; array[i] = array[index]; arr

原创 數據結構——單鏈表的簡單實現

參考文章:http://blog.csdn.net/zhangerqing/article/details/8796518 1. 單鏈表結構: 2. 插入和刪除操作: 3. java實現 /** * */ package co

原创 數據結構--數組和ArrayList

1. 什麼是數據結構:將數據按照一定結構組合起來,不同的組合方式會有不同的效率,不同的使用場景。分爲線性結構:數組、鏈表、隊列、棧等,和非線性結構:樹、圖、表等及其衍生類結構。 2. 數組:int[] a; a = new int[10

原创 多線程簡介

1.What:什麼是多線程?     a.java語言本身支持多線程     b.多線程解決併發需求     c.多線程編程利弊:線程安全    d

原创 閱讀思考1

1.翻譯外文要有自己的思考 2.珍惜時間,忙碌起來 3.《程序員和音樂家》:與其說程序員和音樂家是一個行業,不如說他們表示一種境界。由無聊到自我釋放到創造的提升 4.未來是溼的, 現在已然是一個溼的社會 5.傳統“預學式”改爲“即

原创 關於蜘蛛結網

1.作爲親眼目睹(歷時兩個半小時)過蜘蛛結網全過程的人,給出權威答案—— 蜘蛛從棲身的地方(比較高的一個位置)選擇一個固定點,把第一縷絲的端頭固定在

原创 關於計算機編碼

1.原碼:第一位表示符號, 其餘位表示值 2.反碼:       正數的反碼是其本身       負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反. 3.補碼:       正數的補碼就是其本身       負數的補碼是在其原碼

原创 貪心算法和動態規劃(2)

貪心算法和動態規劃(2)