📄 5.cpp
字号:
#include "head.h"
//排序
//升序函数----所有线性表都排序
void creat51(h_list &lead)
{
int i=0;
link head,p,q,f,m,n;
for(i=0;i<lead->length;i++)
{
head=(link)malloc(LENG3); //生成表头结点
head->next=NULL; //置为空表
m=lead->assistant[i]->tou;
n=m;
m=m->next; //m为需要插入的结点指针
free(n);
while (m) //不为NULL,未结束
{
q=head;
p=head->next; //q,p扫描,查找插入位置
while(p&&m->data>p->data) //未扫描完,且e大于当前结点
{
q=p;
p=p->next; //q,p后移,查下一个位置
}
f=(link)malloc(LENG3); //生成新结点
f->data=m->data; //装入元素e
f->next=p; //插入新结点
q->next=f; //插入递增有序单链表head
n=m;
m=m->next; //输入插入整数
free(n);
}
lead->assistant[i]->tou=head; //连接头结点
}
printf("成功排序所有线性表!!!");
}
//排序
//降序函数----所有线性表都排序
void creat52(h_list &lead)
{
int i=0;
link head,p,q,f,m,n;
for(i=0;i<lead->length;i++)
{
head=(link)malloc(LENG3); //生成表头结点
head->next=NULL; //置为空表
m=lead->assistant[i]->tou;
n=m;
m=m->next; //m为需要插入的结点指针
free(n);
while (m) //不为NULL,未结束
{
q=head;
p=head->next; //q,p扫描,查找插入位置
while(p&&m->data<p->data) //未扫描完,且e大于当前结点
{
q=p;
p=p->next; //q,p后移,查下一个位置
}
f=(link)malloc(LENG3); //生成新结点
f->data=m->data; //装入元素e
f->next=p; //插入新结点
q->next=f; //插入递增有序单链表head
n=m;
m=m->next; //输入插入整数
free(n);
}
lead->assistant[i]->tou=head; //连接头结点
}
printf("成功排序所有线性表!!!");
}
//排序函数
void main5(h_list &lead)
{
int choice=1;
while (choice!=0)
{
printf(" ////////////////////////////////////////////////// \n");
printf(" // 请输入数字 0 到 2 选择: // \n");
printf(" // 1. 升序 // \n");
printf(" // 2. 降序 // \n");
printf(" // 0. 退出程序!!! // \n");
printf(" // 请输入你的选择: // \n");
printf(" ////////////////////////////////////////////////// \n");
scanf("%d",&choice);
system("cls");
switch (choice)
{
case 1: creat51(lead);break; //升序函数
case 2: creat52(lead);break; //降序函数
case 0: break;
default: printf("输入错误!!!\n");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -