北京交通大学C语言课件第6章中.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京交通大学C语言课件第6章中

* int strcmp(const char s1[], const char s2[]) 两字符串相同时返回值0; s1大于s2的情况下返回大于0的值; 否则返回小于0的值。 判断字符串大小的标准是字符串的字典序。(字典序就是普通英语词典里单词排列的顺序,按ASCII码值大小比较) “DOG””cat” “a””A” “computer””compare” 字符串比较函数 限界比较函数: int strncmp(const char s1[],    const char s2[], int n); * #includestdio.h #includestring.h int main() { char str1[6] = China, str2[6] = Korea; int yes; yes = strcmp(str1, str2); printf(%d\n, yes); yes=strcmp(China, Korea); printf(%d\n, yes); if (str1 str2) printf(yes1\n); if (strcmp(str1,str2) 0) printf(yes2\n); return 0; } * strcat(char s[], const char t[]); t是字符串,s是保存字符串的数组。把t复制到s已有的字符之后,形成连起的串。数组s必须足够大。 char b1[40] = Programming, b2[10]; strcat(b1, language); strcpy(b2, C); strcat(b1, b2); 字符串连接函数 另有限界连接函数strncat: strncat(char s[], const char t[], int n); string.h还包含许多函数,参看有关标准库的一章 * 课后练习 将插入、冒泡和选择排序改写成完整函数,并在主程序中调用实现N个正整数从大到小排序(N个数由键盘输入)。 根据排好序的N个正整数,用折半查找法完成某个数的查找(要求先调用排序函数再调用查找函数)。 * Q A! * 用选择法对10个数进行排序(N-S图及程序) /*选择法对10个数由小到大排序*/ #include stdio.h #define N 10 void SelectSort(int n, int a[]); void main() { int a[N], i; for (i = 0; i N; i++) scanf(%d, a[i]); printf(\n); SelectSort(N, a); printf(the sorted numbers:\n); for (i = 0; i N; i++) printf(%4d, a[i]); printf(\n); } 变量、数组长度定义 k=i for(j=i+1;jN;j++) scanf ( “%d” , a[i] ) for(i=0;iN;i++) for(i=0;iN;i++) a[j]a[k] 1 0 k=j for(i=0;iN-1;i++) printf ( “%4d”, a[i] ) a[i]与a[k]交换 * void SelectSort(int n, int a[]) { int i, j, k, t; for (i = 0; i n-1; i++) { k = i; for (j = i+1; j n; j++) if (a[j] a[k]) k = j; t = a[k]; a[k] = a[i]; a[i] = t; } } 可否优化?如何优化? * 选择排序算法的复杂度分析 最坏情形下扫描数据总数 n*(n+1)/2 最坏情形下数据交换的次数 n-1次 * 直接插入排序 排序方法(以排杂志为例): 1. 任取一本杂志,作为排好序的一叠杂志的开始情况; 2. 从剩余杂志中任取一本,根据月份把它插入排好序的那叠杂志里的正确位置,使插入后的这叠杂志仍有序; 3.如果还有未排好的杂志,就回到2,否则就结束; * 99 8 77 66 55 44 33 22 11 1 a 99 8 77 66 55 44 33 22 11 1 t=8 8 99 77 66 55 44 33 22 11 1 8 99 77 66 55 44 33 22 11 1 t=77 8 99 99 66 55 44 33 22 11 1 8 77 99 66 55 44 33 22 11 1 8 7

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档