tmp
程序员文章站
2022-07-09 18:45:22
算法分析作业: 1. 使用快速排序和冒泡排序进行数组排序 2. 使用蛮力法进行字符串匹配 1 /* 2 * @Author: bpf 3 * @Date: 2020-04-01 08:54:13 4 * @LastEditTime: 2020-04-01 10:12:08 5 * @LastEdit ......
算法分析作业:
1. 使用快速排序和冒泡排序进行数组排序
2. 使用蛮力法进行字符串匹配
1 /* 2 * @author: bpf 3 * @date: 2020-04-01 08:54:13 4 * @lastedittime: 2020-04-01 10:12:08 5 * @lasteditors: bpf 6 * @description: 使用快速和冒泡排序数组 7 * @filepath: \learn in the internet\code\algorithms\sortarray.cpp 8 */ 9 #include <stdio.h> 10 11 void print(int a[], int n) 12 { 13 for(int i=0; i<n; i++) 14 printf("%d ", a[i]); 15 } 16 17 void switch(int *a, int *b) 18 { 19 int tmp = 0; 20 tmp = *a; 21 *a = *b; 22 *b = tmp; 23 } 24 25 void quicksort(int a[], int n) 26 { 27 int min = 0, tmp = 0; 28 for(int i=0; i<n-1; i++) 29 { 30 min = i; 31 for(int j=i+1; j<n; j++) 32 if(a[min] > a[j]) 33 min = j; 34 35 if(min != i) 36 switch(a+min, a+i); 37 } 38 } 39 40 void bubblesort(int a[], int n) 41 { 42 int tmp = 0; 43 for(int i=0; i<=n-2; i++) 44 for(int j=0; j<=n-2-i; j++) 45 if(a[j] > a[j+1]) 46 switch(a+j, a+j+1); 47 } 48 49 int main() 50 { 51 int a [7] = {2, 6, 1, 4, 5, 3, 2}; 52 int length = 7; 53 printf("原数组:"); 54 print(a, length); 55 printf("\n快速排序法:"); 56 quicksort(a, length); 57 print(a, length); 58 printf("\n冒泡排序法:"); 59 bubblesort(a, length); 60 print(a, length); 61 return 0; 62 } 63 64 /****** 快速排序 65 1. 获得源数组a 66 2. 输出源数组a 67 3. min = 0, 表示默认第一个元素为最小 68 4. i = 0, j = i+1 69 5. 第i轮排序, 从第j个元素开始, 与第min个元素比较 70 如果a[min] > a[j], 则 min = j 71 如果a[min] < a[j], 则跳过 72 6. j++ 直到 j == n 73 7. i++ 74 8. 循环执行第5、6、7步,直到i == n-2 75 9. 输出排序后数组a 76 77 ******* 冒泡排序 78 1. 获得源数组a 79 2. 输出源数组a 80 3. i = 0, j = 0 81 4. 第i轮排序, 从第j个元素开始, 与第j+1个元素比较 82 如果a[j] > a[j+1], 则交换两个数 83 如果a[j] < a[j+1], 则跳过 84 5. j++ 直到 j == n-2-i 85 6. i++ 86 7. 循环执行第4、5、6步,直到i == n-2 87 8. 输出排序后数组a 88 */
1 /* 2 * @author: bpf 3 * @date: 2020-04-01 09:21:35 4 * @lastedittime: 2020-04-01 09:47:06 5 * @lasteditors: bpf 6 * @description: 使用蛮力法进行字符串匹配 7 * @filepath: \learn in the internet\code\algorithms\catchstring.cpp 8 */ 9 #include <stdio.h> 10 11 int catstr(char s[], char cmp[]) 12 { 13 int i = 0, j = 0; 14 for(i=0; s[i]!='\0'; i++) 15 { 16 for(j=0; cmp[j]!='\0'; j++) 17 { 18 if(s[i] !=cmp [j]) 19 break; 20 else 21 i++; 22 } 23 if(cmp[j] == '\0') 24 return true; 25 } 26 return false; 27 } 28 29 int main() 30 { 31 char s[100] = "i like apples and pears."; 32 char cmp[16] = {"\0"}; 33 printf("源字符串:%s\n", s); 34 printf("请输入匹配的字符串:"); 35 scanf("%s", cmp); 36 if(catstr(s, cmp)) 37 printf("yes"); 38 else 39 printf("no"); 40 } 41 42 /* 字符串匹配 43 1. 获得源字符串s 44 2. 输入匹配的字符串cmp 45 3. i = 0, j = 0 46 4. 判断字符串s与字符串cmp的第i个字符 47 如果不同则移到字符串s的下一个字符, 即i++ 48 如果相同则再匹配cmp的第二个字符, 即j++ 49 5. 重复第4步, 直到匹配完字符串s 50 6. 输出结果 51 */
执行结果:
下一篇: 安卓中SQLite数据库的创建、增删改查
推荐阅读
-
解决Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-f8IeEI/MYSQL-python/
-
下载的音乐放到sk卡变成tmp格式是怎么回事
-
mysql的内存临时表两个参数tmp_table_size、max_heap_table_size
-
Win7系统tmp文件怎么打开 Win7系统打开tmp文件的方法
-
今天整理下 linux目录的说明 :/dev, /proc, /bin, /etc, /lib, /usr, and /tmp
-
今天整理下 linux目录的说明 :/dev, /proc, /bin, /etc, /lib, /usr, and /tmp
-
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
-
ubuntu mysql更改tmp路径的方法
-
tmp
-
如何打开和删除tmp格式文件