アットウィキロゴ

lab7

#include<stdio.h>
#define N 100000
void change(int *,int *);
void insertionsort(int *a,int b);//挿入ソートの関数
int main(int argc,char* argv[])
{
	int a[N];
	int b,c,i;
	FILE *fp;
	fp = fopen("aaa.dat", "r");
	fscanf(fp,"%d", &b);//全部でいくつあるかをbに代入
	for(i=0;i<b;i++){
		fscanf(fp,"%d", &c);//それぞれの数を一つずつ配列に入れる
		a[i]=c;
	}
	insertionsort(a,b);
for(i=0;i<b;i++)
{
 printf("%d ",a[i]);
}
	fclose(fp);
return 0;
}
//入れ替えの関数
void change(int *a,int *b)
{
int c;
c=*a;
*a=*b;
*b=c;
} 


void insertionsort(int *a,int b){
	int i,j;
	for(i=1;i<b;i++){//iは未ソート部分の一番最初
		for(j=i;j>0&&a[j-1]>a[j];j--){//jが
			change(&a[j-1],&a[j]);
		}
	}
}

タグ:

+ タグ編集
  • タグ:
最終更新:2007年06月06日 10:32