原创 重寫、多態、抽象類、final及接口

重寫 方法重寫:         指的是在子類中重新定義已有的方法 重寫的方法必須同名同參同返回值 舉個例子 例1: class A { public void f() { System.out.printf("AAAA\n");

原创 線性結構常見應用之二——隊列

定義: 隊列是一種可以實現先進先出的存儲結構,類似於排隊買票(假設無人插隊),則先排隊的先買到票,後排隊的後買到票 分類: 鏈式隊列——用鏈表實現 靜態隊列——用數組實現 靜態隊列通常都必須是循環隊列 鏈式隊列實際上就是一個操

原创 關於鏈表_1

鏈表 動態地進行存儲的一種結構 其每一個元素(節點)分爲兩部分,數據域和指針域 n個節點離散分配,彼此通過指針相連 每個節點都只有一個前驅節點,都只有一個後繼結點 專業術語: 頭結點 頭結點的數據類型和首節點的類型一模一樣 頭結

原创 線性結構常見應用之一——棧

定義: 棧是一種“先進後出”(後進先出)的存儲結構,類似於一個裝東西的箱子,即先裝進去的後出來 實際上說,棧是操作受限的鏈表 分類: 靜態棧 動態棧 以數組爲基本內核的稱爲靜態棧 下面舉個例子 例1: # i

原创 結構體_3

結構體變量和普通的變量相同——在函數內部聲明的結構體只能在該函數內部使用,所以通常結構體都是在函數外部聲明,這樣結構體就可以在多個函數中使用,一般都聲明在main函數上邊 結構體變量與函數 對於結構體變量,其賦值也可以使用強制類型轉換,

原创 全局變量和宏

全局變量 即定義在所有函數之外(一般都定義在main函數之前,#include頭文件下邊)的變量,這個是與局部變量(本地變量)所不同的,它可以在任何函數中使用 下面舉個例子 例1: # include <stdio.h> int i;

原创 繼承和super的用法

繼承 一個新類從已有的類那裏獲得其已有的屬性和方法,這種現象叫類的繼承     這個新定義的類稱爲子類或派生類,被繼承的已經存在的類稱爲父類、超類或基類。 面向對象中的繼承實際上就是從一般到特殊 下面舉個例子 例1: class Hu

原创 枚舉和聯合體

枚舉 什麼是枚舉? 枚舉是一種用戶定義的數據類型,它用關鍵字 enum 以如下語法來聲明:     enum 枚舉類型名字 {名字0, …, 名字n} ; 簡單的說,就是把一個事物的可能的結果一一列舉出來 怎樣使用枚舉? 下面舉個例子

原创 關於數組_2——數組的算法演示

下面的例子是使用結構體和一些函數來模擬數組的功能,即構造一個數組 講這個程序,主要還是爲了講兩個知識,一是數據的存儲不一樣,操作也不一樣,泛型達到的效果是存儲不一樣,操作一樣     首先來說,要模擬一個數組,需要有長度、第一個元素首字

原创 圖形界面編程_2

       上次說了,如果不添加事件,點擊窗口右上方的X,窗口是不會關閉的,現在要說一下,這是在awt下Frame的情況,如果是使用swing下的JFrame,則不需要添加事件即可直接關閉按鈕,awt的功能,swing基本上可以完全取代

原创 字符串函數_1

字符串的表示方法及輸出 首先要說的是C語言中沒有字符串string這樣的數據類型,所以我們要表示字符串,可以使用字符數組,不過,輸出字符串時,必須用%s來輸出,下面舉個例子 例1: # include <stdio.h> int ma

原创 樹和二叉樹

樹和二叉樹 樹定義:     專業定義【遞歸定義】 如果是一個非空樹,則必須滿足以下兩點: 1、有且僅有一個稱爲根的結點 2、有若干個互不相交的子樹,這些子樹本身也是一棵樹 通俗的定義【非遞歸

原创 關於goto

goto,即無條件跳轉指令,常與if搭配使用具體使用情況將舉例說明 例1: #include <stdio.h> int main(void) { goto ss; printf("BBBB\n"); ss: p

原创 關於鏈表_2

鏈表的分類: 單鏈表: 雙鏈表: 每一個節點有兩個指針域   循環鏈表: 能通過任何一個節點找到其它所有的結點 非循環鏈表: 算法: 遍歷 查找 清空 銷燬 求長度 排序 刪除節點

原创 使用結構體構造數組舉例

下面舉個例子,動態構造存放學生信息(這裏只有姓名、年齡和成績)的結構體構造的數組,然後按分數排序輸出 例1: # include <stdio.h> # include <malloc.h> struct Student { cha