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

📄 按名字排序.cpp

📁 该程序实现了用文件记录变长字节流
💻 CPP
字号:
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include<iomanip.h>
#include<string.h>
#include"index.h"
void nameInsert(char *pp,index & a)
//用于索引结点插入名字索引表中
{fstream f1(pp,ios::in|ios::out|ios::binary);
if(!f1){cout<<"exit error"<<endl;
exit(1);}//用二进制形式打开nameorder集
//求出索引表未添记录时的长度
a.deletetag=0;
f1.seekg(0,ios::end);
f1.write((char *)&a,d1);
f1.seekg(0,ios::end);
//在名字索引表末尾添加一条记录
int yy=f1.tellg()/d1;
//求出添加完记录之后的长度
index *A=new index[yy];
f1.seekg(0,ios::beg);
f1.read((char*)A,yy*d1);
//将所有的记录读出存在A中
int work,cd;
index temp;
//用冒泡排序法对其进行排序
for(int pas=1;pas<yy;pas++)
{work=1;
for(cd=0;cd<yy-pas;cd++)
if(strcmp(A[cd].name,A[cd+1].name)>0)
{temp=A[cd];
A[cd]=A[cd+1];
A[cd+1]=temp;
work=0;
}
if(work) break;
}
f1.seekg(0,ios::beg);
f1.write((char *)A,yy*d1);
//将排序好的A数组写回nameorder中
f1.close();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -