欢迎来到天天文库
浏览记录
ID:37239608
大小:217.59 KB
页数:42页
时间:2019-05-20
《HLPL-12-pointers-arrays-2-note》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、指针数组多维数组命令行参数.指针和数组指针数组、多维数组、命令行参数.北京航空航天大学数学与系统科学学院单宝松shanbs@buaa.edu.cnApril10,2012......北京航空航天大学数学与系统科学学院指针和数组指针数组多维数组命令行参数目录.1.指针数组2.多维数组3.命令行参数......北京航空航天大学数学与系统科学学院指针和数组指针数组多维数组命令行参数Outline.1.指针数组2.多维数组3.命令行参数......北京航空航天大学数学与系统科学学院指针和数组指针数组多维数组命令行参数指针数组.由于指针本身也是变量,因此指针可以被存储在数组中数组中
2、的每个元素都是某种指针例如:int*ai[10];......北京航空航天大学数学与系统科学学院指针和数组指针数组多维数组命令行参数文本排序例程.输入:多行文本,长度可变输出:按照字母表排好顺序我们需要一种数据结构来高效和方便地处理变长文本行指针数组可以胜任排序时如果需要交换顺序,仅需要交换数组中指针的顺序即可......北京航空航天大学数学与系统科学学院指针和数组指针数组多维数组命令行参数文本排序的示例.规避了复杂的存储管理省去了移动文本的高开销......北京航空航天大学数学与系统科学学院指针和数组指针数组多维数组命令行参数文本排序的伪代码.1.读入所有的行2.排序3
3、.打印排好顺序的所有行......北京航空航天大学数学与系统科学学院指针和数组指针数组多维数组命令行参数文本排序:输入输出.需要对输入的行数进行计数,而C语言不允许变长数组,因此必须指定一个行数上限同样的道理,每行的大小也必须有一个上限每行的开始地址存入指针数组中输出:只需要传入指针数组中的指针即可进行打印......北京航空航天大学数学与系统科学学院指针和数组指针数组多维数组命令行参数主函数代码.#include#include#defineMAXLINES5000/*max#linestobesorted*/char*linept
4、r[MAXLINES];/*pointerstotextlines*/intreadlines(char*lineptr[],intnlines);voidwritelines(char*lineptr[],intnlines);voidqsort(char*lineptr[],intleft,intright);/*sortinputlines*/main(){intnlines;/*numberofinputlinesread*/if((nlines=readlines(lineptr,MAXLINES))>=0){qsort(lineptr,0,nlines-1);
5、writelines(lineptr,nlines);return0;}else{printf("error:inputtoobigtosort");return1;}}......北京航空航天大学数学与系统科学学院指针和数组指针数组多维数组命令行参数输入函数代码.#defineMAXLEN1000/*maxlengthofanyinputline*/intgetline(char*,int);char*alloc(int);/*readlines:readinputlines*/intreadlines(char*lineptr[],intmaxlines){int
6、len,nlines;char*p,line[MAXLEN];nlines=0;while((len=getline(line,MAXLEN))>0)if(nlines>=maxlines
7、
8、p=alloc(len)==NULL)return-1;else{line[len-1]=' ';/*deletenewline*/strcpy(p,line);lineptr[nlines++]=p;}returnnlines;}......北京航空航天大学数学与系统科学学院指针和数组指针数组多维数组命令行参数输出函数代码./*writelines:writeoutputline
9、s*/voidwritelines(char*lineptr[],intnlines){inti;for(i=0;i
此文档下载收益归作者所有
点击更多查看相关文章~~