⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpp1.cpp

📁 对结构体数据或单向链表快速排序,只为了练习,不是很合理.希望对初学者有点帮助.
💻 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 + -