?? 整型線性表和字符串線性表排序.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 + -