C 演算法總結 1

2021-08-16 02:01:58 字數 1796 閱讀 2476

c++演算法在字串操作中的應用還是非常多的,下面,我們舉幾個例子:

例子1:實現乙個將字串中所有字母轉換為大寫的演算法

char* myupper( char *pdest )    

*i -= 'a' - 'a';

}

return pdest;

}

例子2:實現數字到字串之間的轉換演算法

char* myitoa( char *pdest, int val, int radix )  

; int count = 0;

do

while( val );

if( isminu )

pdest[ count + 1 ] = '\0';

} else

pdest[ count ] = '\0';

} return pdest;

}

3.統計乙個字串中每種字母出現的次數(時間複雜度為o(n))

void countletter( const char *psrc )  

; for( ; *psrc !='\0'; ++psrc )

++count[ c ];

} }

4.實現字串逆序的演算法

char* myinverted( char *pdest )    

return pdest;

}

5.實現字元換拷貝的演算法

char* mystrcpy( char *pdest, const char *psrc )    

if( pdest == psrc )

char *piter = pdest;

while( ( *piter++=*psrc++ ) !='\0' );

return pdest;

}

6.實現字串拼接的演算法

char* mystrcat( char *pdest, const char *psrc )    

char *piter = pdest + strlen( pdest );

while( ( *piter++=*psrc++ ) != '\0' );

return pdest;

}

7.實現cstring字串類預設方法

class mycstring    

else

}

mycstring( const mycstring &other )

~mycstring()

}

const mycstring& operator =( const mycstring &other )

delete mpdata;

mpdata = new char[ strlen( other.mpdata ) + 1 ];

assert( nullptr != mpdata );

strcpy( mpdata, other.mpdata );

return *this;

}

private:

char *mpdata;

};

演算法總結 1 演算法概述

演算法 演算法 algorithm 在thomas h.cormen書中的定義是求解良說明的計算問題的工具。這裡提到的良說明就是完全符合iso標準而不存在任何歧義的說明。一般來說,問題陳述說明了期望的輸入和輸出。演算法則是描述乙個特定的過程來實現該輸入 輸出的關係。進入例子 演算法好比是菜譜,我們的...

排序演算法總結 1

插入排序 穩定最優時間複雜度 o n 此時數列順序排列 最差時間複雜度 o n 2 此時數列逆序排列 插入排序的思想 固定乙個元素a,分別比較a之前的元素,如果a之前的元素比a大,則元素後移,將a插入比a小的元素後面。要理解插入排序,實際上遞迴和不遞迴的思想是個相反的過程,遞迴的最後一層相當於非遞迴...

C 用法總結 1

1 判斷文字框中輸入的ip位址是否合法 regex reg new regex n 1 9 0 9 1 0 9 2 0 4 0 9 5 0 5 1 9 0 9 1 0 9 2 0 4 0 9 5 0 5 if reg.ismatch tb ip.text lb ip.items.add tb ip....