tolower() 把英文字母转换成小写,非字母字符不做出处理 ctype.h中
toupper() 把英文字母转换成大写,非字母字符不做出处理 ctype.h中
memset() 原型:void *memset(void *s, int ch, size_t n) 将s所指向的某一块内存中的前n个 字节(每个字节每个字节的赋)的内容全部设置为ch指定的ASCII值 stdlib.h中 返回值为指向s的指针 如: int s[100],memset(s,0,sizeof(s)); char s[100];memset(s,'*',sizeof(s));
qsort() 原型:void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*)) 各参数:1 待排序数组首地址 2 数组中 待排序元素数量 3 各元素的占用空间大小 4 指向函数的指针 使用快速排序历程进行排序 stdlib.h中 如:
对一维数组的排序实例(从小到大排序):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include<stdio.h>
#include<stdlib.h>
int
comp(
const
void
*a,
const
void
*b)
{
return
*(
int
*)a-*(
int
*)b;
}
int
main()
{
int
i=0;
int
*array;
int
n;
scanf
(
"%d"
,&n);
array=(
int
*)
malloc
(n*
sizeof
(
int
));
for
(;i<n;i++)
{
scanf
(
"%d"
,(array+i));
}
qsort
(array,n,
sizeof
(
int
),comp);
for
(i=0;i<n;i++)
{
printf
(
"%d\t"
,array[i]);
}
return
0;
}
|
对一个
二维数组进行排序:
int a[1000][2]; 其中按照a[0]的大小进行一个整体的排序,其中a[1]必须和a[0]一起移动交换。//即第一行和第二行(a[0]和a[1]分别代表第一行和第二行的首地址)。使用库函数排序的代码量并不比用冒泡排序法小,但速度却快很多。
1
2
3
|