C语言题:求解“插入排序法”!!!

来源:百度知道 编辑:UC知道 时间:2024/06/30 05:58:57
紧急请求高手:

有一个字符型文件 mypro.dat,其中存有一批无序整数数据(不超过500个),请编写一个程序对其处理。要求使用插入排序法对其从小到大排序,并忽略所有重复数据(既若遇到重复数据仅保留一个,其余忽略),最后写入该文件。

要求用C语言编写程序!谢谢高手!

#include <stdio.h>
#include <memory.h>
#include <fstream.h>
#define MAX 1000000
int A[500],count;
void insert(int a)
{
int i=0,j;
while(a>A[i])i++;
if(a!=A[i])
{
for(j=count;j>=i;j--)
A[j+1]=A[j];
A[i]=a;
count++;
}

}
int main()
{
memset(A,MAX,500*sizeof(int));
int tmp;
count=0;
ifstream ifs("mypro.dat");
while(ifs>>tmp)
{
insert(tmp);
}
remove("mypro.dat");
ofstream ofs("mypro.dat");
tmp=0;
while(tmp<=count)
{
ofs<<A[tmp];
ofs<<" ";
tmp++;
}

return 0;

}

#include<stdio.h>
int *fp1;
int main(void)
{int b[501],a[501],i,j,n;
fp1=fopen("mypro.dat","//可读可写形式");
fscanf (fp1,"%d",&n);
fo