📄 整型线性表和字符串线性表排序.cpp
字号:
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
int int_comp(const void *i,const void *j){
return ((*(int *)i)-(*(int *)j));
}int char_comp(const void *a,const void *b){
return (strcmp((char*)a,(char*)b));
}
void main(){
int ilist[12]={99,63,73,89,-41,21,29,37,-16,14,77};
int i;
char slist[10][5]={"cat","book","car","zoo","fish","cab","dog",
"cap","fox","can"};
qsort(ilist,12,sizeof(int),int_comp);
for(i=0;i<12;i++)cout<<ilist[i]<<' ';
cout<<endl;
qsort(slist,10,sizeof(*slist),char_comp);
for(i=0;i<10;i++)cout<<slist[i]<<' ';
cout<<endl;
return;
}
//void指针又称无类型或泛型指针.任何类型的指针都可以赋给类型的的指针变量:
//例:int val=5;int *pi=&val;void*pv=pi;
//但将泛型指针赋给其他类型的指针必须使用强制类型转换:pi=(int *)pv
//泛型指针主要在通用函数中做形参.
//标准库函数是对线性表用快速排序的的算法进行排序.
//void qsort(void *base,size_t nelem,size_t width,int(*fcmp)(const void *,const void *));
//base是表的首地址, nelem 是元素的个数 ,width是元素的所站的字节数
//int(*fcmp)(const void *,const void *)比较两个元素的大小:>返回整数;<返回负数:=返回0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -