#include <iostream>
void bubbleSort(int arr[], int n) // n 为数组大小
{
for (int i = 0; i < n - 1; i++) { // n-1 趟排序
for (int j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main()
{
int arr[10] = { 5, 1, 7, 2, 9, 3, 6, 8, 0, 4 };
bubbleSort(arr, 10); // 数组大小
for (int i = 0; i < 10; i++) {
std::cout << arr[i] << " "; // 0 1 2 3 4 5 6 7 8 9
}
}
function bubbleSort($arr, $n) // $n 为数组大小
{
for ($i = 0; $i < $n - 1; $i++) { // n-1 趟排序
for ($j = $i + 1; $j < $n; $j++) {
if ($arr[$i] > $arr[$j]) {
$temp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $temp;
}
}
}
print_r($arr); // Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7 [8] => 8 [9] => 9 )
}
bubbleSort([5, 1, 7, 2, 9, 3, 6, 8, 0, 4 ], 10); // 数组大小
#include<iostream>
void quickSort(int arr[], int i, int j)
{
if (i < j) {
int l = i, r = j;
int pivot = arr[i]; // 选择一个基准值
while (i < j) {
while (i<j && arr[j] >= pivot) {
j--; // 如果后面的数比基准值大,就往前找
}
arr[i] = arr[j];
while (i<j && arr[i] <= pivot) {
i++; // 如果前面的数比基准值小,就往后找
}
arr[j] = arr[i];
}
arr[i] = pivot; // 或者 arr[j] = pivot;
quickSort(arr, l, i - 1); // 左边
quickSort(arr, i + 1, r); // 右边
}
}
int main()
{
int arr[10] = { 5, 1, 7, 2, 9, 3, 6, 8, 0, 4 };
quickSort(arr, 0, 9);
for (int i = 0; i < 10; i++) {
std::cout << arr[i] << " "; // 0 1 2 3 4 5 6 7 8 9
}
}
function quickSort(& $arr, $i, $j) // 传引用调用
{
if ($i < $j) {
$l = $i;
$r = $j;
$pivot = $arr[$i];
while ($i < $j) {
while ($i < $j && $arr[$j] >= $pivot) {
$j--;
}
$arr[$i] = $arr[$j];
while ($i < $j && $arr[$i] <= $pivot) {
$i++;
}
$arr[$j] = $arr[$i];
}
$arr[$i] = $pivot;
quickSort($arr, $l , $i - 1);
quickSort($arr, $i + 1 , $r);
}
}
$arr = [0, 1, 8, 6, 2, 5, 4, 9, 3, 7];
quickSort($arr, 0, 9);
print_r($arr); // Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7 [8] => 8 [9] => 9 )
<?php
/**
* 截取字符串子串 (GBK)
*
* @param string $str 原始字符串
* @param int $len 需要截取字符串的长度
* @return string 返回截取到的字符串
*/
function GBSubstr($str, $len){
$count = 0;
for($i = 0; $i < strlen($str); $i++){
if($count == $len) break;
if(preg_match("/[\x81-\xfe]/", substr($str, $i, 1))) { // 如果检测到 GBK 中文编码的高位 0x81-0xFE
++$i; // 跳过低位,继续向后匹配
}
++$count; // 次数
}
// echo $i; 这时 $i 的值为 9
return substr($str, 0, $i); // $i 是加上中文后的字符串长度
}
echo GBSubstr("ab喜cdefgh",7); // 从头开始截取一个长度为 7 的字符串; 输出 "ab喜cdef"
?>
<?php
function dir_all($path) {
$handler = opendir($path);
while (false !== ($tmp = readdir($handler))) { // $tmp 第 1 次是 ".",第2次是 "..", 之后是文件名或目录名,和Linux中使用 ls 的效果一样
if(is_dir("$path/$tmp")) { // 如果是一个目录
if ($tmp == "." || $tmp == "..") // 不输出,也不递归调用
continue;
echo $tmp . "<br>"; // 输出目录名字
dir_all("$path/$tmp"); // 把当前目录名接到 $path 上,递归调用
}
else {
echo $tmp ."<br>"; // 如果是一个文件,直接输出
}
}
}
dir_all("C:\Users\bingo\Desktop\ms"); // 输出 ms 文件夹下的所有文件名、子目录名以及子目录下的文件名
?>
<?php
// 匹配邮箱
if (preg_match("/^[0-9a-z][0-9a-z\_\-\.]+@([0-9a-z][0-9a-z\-]*\.)+[a-z]{2,}$/i", "user_name.first@example.com.cn")) { // 匹配模式 i 表示不区分大小写
echo "Matching!"; // 输出 "Matching!"
}
else {
echo "No Matching!";
}
// 匹配 URL
if (preg_match("/^(http|https):\/\/([0-9a-z][0-9a-z\-]*\.)+[a-z]{2,}(:\d+)?\/[0-9a-z%\-_\/\.]+/i", "http://www.example.com.cn/user_profile.php?uid=100")) { // 匹配模式 i 表示不区分大小写
echo "Matching!"; // 输出 "Matching!"
}
else {
echo "No Matching!";
}
?>
varchar是变长,节省存储空间,char是固定长度。查找效率要char型快,因为varchar是非定长,必须先查找长度,然后进行数据的提取,比char定长类型多了一个步骤,所以效率低一些。
MySQL 4.1 主要是比MySQL 4.0多了 子查询 和 字符编码的支持 两个特点。 MySQL5增加的功能比MySQL4要更多,包括 存储过程、视图、事务 等等。
网页编码的发展: HTML => XHTML => XML
MySQL、PDO 、GD、socket、MB_Sring、Iconv、Curl、SHM、libxml 等等。
vi 进入命令模式后,输入 :sp 或 :vsp 即可横排和竖排切分可视化窗口。 横:split(sp);纵:vsplit(vsp)
find:可以按照文件名、文件类型、文件大小、文件修改/访问时间查找; grep:按照文件内容查找(正则表达式)。
OSI参考模型:
爬虫(采集)、切词(分词)、索引(存储)、查询以及其他相关技术等。
分为美工、前端开发和后台开发人员,美工负责界面效果设计、前端开发负责用户交互和设计,后台开发人员负责服务端的开发。
这个,你猜...
PV(page view):页面浏览量,或点击量,表示一个访问者在24小时内浏览了你网站的几个页面。这里需要强调:同一个人浏览网站同一个页面,不重复计算 PV 量,点100次也算1次。 构思(仅供参考):3台Web服务器,两台MySQL数据库服务器,采用Master/Slave同步的方式减轻数据库负载,Web服务器可以结合Memcahe缓存来减少负载,同时三台Web服务器内容一致,可以采用DNS轮询的方式来进行负载平衡 。
以上就是本章的全部内容,欢迎指出错误和补充!