原创 串的應用舉例

假設串S1 = "I come from Beijing",S2 = "Chongqing" ,Sub = "America".  利用串的基本操作,如果串的賦值、串的插入、串的刪除、串的替換、對上面  的串進行操作#include <s

原创 二叉樹的存儲表示與實現

二叉樹的順序存儲 完全二叉樹的存儲可以按照從上到下,從左到右的順序依次存儲在一維數組中。完全二叉樹的順序存儲如圖所示:                 如果按照從上到下,從左到右的順序把非完全二叉樹也同樣的編號,將結點依次存放在一維數組

原创 順序隊列的表示

#define QUEUESIZE 50//定義隊列的最大容量 typedef char DataType;//定義隊列元素的類型爲字符類型 #include<stdio.h> typedef struct Squeue//順序隊列類型

原创 鏈式隊列

編程判斷一個字符序列是否是迴文。迴文是指一個字符序列以中間字符爲基準兩邊字符完全相同,即順着看和倒着看是相同的字符序列。如字符序列“ABCDCBA”就是迴文,而字符序列“ABCBCAB”,就不是迴文。#include<stdio.h>//

原创 內存動態分配與釋放

內存的動態分配需要使用函數malloc,函數free和運算符sizeof來實現。函數malloc的原型是: Void* malloc(unsigned int size); 函數malloc的作用是在內存中分配一個長度爲size的連續存儲

原创 指針函數

指針函數是指函數的返回值是指針類型的函數。一個函數的返回值可以是整數,實型和字符類型,也可以是指針類型。指針類型的定義形式舉例如下: float* fun(int a,int b); 其中,fun是函數名,前面的“*”說明返回值的類型是指

原创 用指針數組保存字符串並將字符元素打印輸出

<span style="font-size:18px;">#include<stdio.h> void main() { //指針數組定義 char *book[4]={"C Programming Language","Assem

原创 創建二維數組

方法一:使用數組指針用new開闢空間#include<iostream> using namespace std; #define ROW 3 #define COL 4 void main() {

原创 函數指針的說明

剛剛發的博客沒有保存截圖,很不好意思,現在我重新發一次。 指針可以指向變量、數組,也可以指向函數,函數指針就是指向函數的指針。函數名實際是程序在內存中的起始地址。而指向函數的指針可以把地址傳遞給函數,也可以從函數返回給指向函數的指針。例如

原创 用指針引用數組元素並打印輸出

#include<stdio.h> void main() { int a[5]={10,20,30,40,50}; int *aptr,i;//指針變量聲明 aptr=&a[0];//指針變量指向變量a for(i=0;i<5;

原创 堆串的基本運算

#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { char *str; int lengt

原创 把數組中的n個元素的值分別擴大5倍,要求數組名作爲參數。

通過把數組名作爲參數傳遞,實際上是把數組的地址傳遞給形式參數。這樣在被調用函數中就可以對整個數組進行操作了,將數組名作爲參數傳遞,調用函數和被調用函數都是對佔同一塊內存單元的數組進行操作。#include<stdio.h> #define

原创 二叉樹的基本運算

//二叉樹的初始化操作。二叉樹的初始化需要將指向二叉樹的根結點指針置爲空: void InitBitTree(BiTree *T)//二叉樹的初始化操作 { *T=NULL; } //二叉樹的銷燬操作。如果二叉樹存在,將二叉樹存儲空間釋

原创 指向函數的指針數組的用法

聲明一個指向函數的指針數組,並通過指針調用函數。#include<stdio.h> void f1();//函數f1的聲明 void f2();//函數f2的聲明 void f3();//函數f3的聲明 void main() { vo

原创 (C++ STL)list的實現

#include <iostream> using namespace std; //採用迭代器和空間配置器所實現的雙向鏈表的基本功能 template<class _Ty,class _A = allocator<_Ty>