📄 cpp1.cpp
字号:
#include "sort.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_LEN 100
typedef struct T
{
int iNum;
char sName[20];
char sInfo[50];
double charge;
struct T *pNext;
char TMD[100];
}TT;
int main()
{
int i = 0;
TT ar[MAX_LEN];
for(i = 0; i < MAX_LEN; i++)
{
ar[i].iNum = i;
sprintf(ar[i].sName, "%2d-%2d", 0, i);
sprintf(ar[i].sInfo, "%2d=====ssss======%2d", i%7, i%7);
ar[i].charge = 0.1*i;
ar[i].pNext = (ar + i + 1);
}
/* for(i = 0; i < MAX_LEN; i++)
{
int j;
if(i == 0) j = 1;
if(i == 1) j = 2;
if(i == 2) j = 3;
ar[i].iNum = j;
sprintf(ar[i].sName, "%2d-%2d", 0, j);
sprintf(ar[i].sInfo, "%2d=====ssss======%2d", j%7, j%7);
ar[i].pNext = (ar + i + 1);
}*/
ar[MAX_LEN - 1].pNext = NULL;
CSort cs;
/* //数组
//以数组方式初始化
cs.Initialization(&ar[0], sizeof(TT), &(ar[0].sName), sizeof(ar[0].sName), MAX_LEN);
//设置排序方式 0升序 非0降序
cs.SetSortType(1);
//取出排序结果 返回来ar中
cs.GetSorted();
*/
//链表
//以链表方式初始化
cs.Initialization(&ar[0], sizeof(TT), (void**)&(ar[0].pNext));
// cs.SetSortKey(1, 1, &ar[0], &(ar[0].sName), sizeof(ar[0].sName), 1);
// cs.SetSortKey(0, 1, &ar[0], &(ar[0].sInfo), sizeof(ar[0].sInfo), 1);
cs.SetSortKey(0, -1, &ar[0], &(ar[0].charge), -1, 1);
cs.GetSorted();
// cs.PrintInfo();
//打印列表
printf("iIndex iNum sName sInfo pNext\n");
printf("-------------------------------------------------------\n");
/* for(i = 0; i < MAX_LEN; i++)
{
printf(" %2d %2d %s %s 0x%x \n", i, ar[i].iNum, ar[i].sName, ar[i].sInfo, ar[i].pNext);
}
*/
TT* p = NULL;
for(p = ar, i = 0; p; p = p->pNext, i++)
{
printf(" %2d %2d %s %s 0x%x %f \n", i, p->iNum, p->sName, p->sInfo, p->pNext, p->charge);
}
cs.PrintInfo();
printf("%d, %d, %d\n", sizeof(int), sizeof(float), sizeof(double));
double ii = -0.1;
int iii = ii;
printf("%d\n", iii);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -