加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
3-15.c 2.26 KB
一键复制 编辑 原始数据 按行查看 历史
王振宇 提交于 2022-03-15 20:41 . homework
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//struct stu
//{
// int age;
// char name[20];
// double score;
//};
////
int CmpInt(const void* e1 , const void* e2)
{
return (*(int*)e2 - *(int*)e1);
}
//int CmpStruct(const void* e1, const void* e2)
//{
// return strcmp( ((struct stu*)e1)->name, ((struct stu*)e2)->name );
//}
void MyPrint(int* arr, int sz)
{
for (int i = 0; i < sz; i++)
printf("%d ", arr[i]);
}
//void TestStruct()
//{
// struct stu arr[3] = { {15,"wang",87.00},{16,"li",67.00},{13,"zhang",75.00} };
// int sz = sizeof(arr) / sizeof(arr[0]);
// qsort(arr, sz, sizeof(arr[0]),CmpStruct);
//}
int main()
{
/*TestStruct()*/;
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int sz = sizeof(arr) / sizeof(arr[0]);
int width = sizeof(arr[0]);
qsort(arr, sz, width, CmpInt);
MyPrint(arr, sz);
return 0;
}
////int CmpInt(const void* e1, const void* e2)
////{
//// return (*(int*)e2 - *(int*)e1);
////}
////int CmpStruct(const void* e1, const void* e2)
////{
//// return strcmp( ((struct stu*)e1)->name, ((struct stu*)e2)->name );
////}
////void MyPrint(int* arr, int sz)
////{
//// for (int i = 0; i < sz; i++)
//// printf("%d ", arr[i]);
////}
//struct stu
//{
// int age;
// char name[20];
// double score;
//};
//int CmpStruct(const void* e1, const void* e2)
//{
// return strcmp( ((struct stu*)e1)->name, ((struct stu*)e2)->name );
//}
//void Swap(char* p1, char* p2, int width)
//{
// int i = 0;
// for (i = 0; i < width; i++)
// {
// char tmp = *p1;
// *p1 = *p2;
// *p2 = tmp;
// p1++;
// p2++;
// }
//}
//void MyQsort(void* arr, int sz, int width, int (*Cmp) (const void* e1, const void* e2))
//{
// int i = 0;
// int j = 0;
// for (int i = 0; i < sz; i++)
// {
// for (int j = 0; j < sz - i - 1; j++)
// {
// if (Cmp((char*)arr + j * width, (char*)arr + (j + 1) * width))
// {
// Swap((char*)arr + j * width, (char*)arr + (j + 1) * width, width);
// }
// }
// }
//}
//int main()
//{
// /*int arr[] = { 1,2,3,4,5,6,7,8,9,10 };*/
// //int sz = sizeof(arr) / sizeof(arr[0]);
// //MyQsort(arr, sz, sizeof(arr[0]), CmpInt);
// struct stu arr[3] = { {15,"wang",87.00},{16,"li",67.00},{13,"zhang",75.00} };
// int sz = sizeof(arr) / sizeof(arr[0]);
// qsort(arr, sz, sizeof(arr[0]),CmpStruct);
// //MyPrint(arr, sz);
// return 0;
//}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化