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....