数据结构——直接插入排序

 

  
    
// 直接插入排序
#include < iostream >
using namespace std;

void Insertsort( int num[], int n)
{
int i,j;
int temp;
for (i = 1 ;i < n;i ++ )
{
temp
= num[i];
j
= i - 1 ; // 从右向左寻找num[i]的插入位置
while (j >= 0 && temp < num[j])
{
num[j
+ 1 ] = num[j]; // 将关键字大于num[i]的记录往右移
j -- ;
}
num[j
+ 1 ] = temp; // 在j+1处插入num[i],记住是j+1处
}
}



int main()
{
FILE
* fin = fopen( " 8.1.2.txt " , " r " );
int num[ 80 ],i = 0 ;
while (fscanf(fin, " %d " , & num[i]) != EOF)
i
++ ;
int n = i;

Insertsort(num,n);

for (i = 0 ;i < n;i ++ )
{
if (i % 5 == 0 )
cout
<< endl;
cout
<< num[i] << " " ;
}
cout
<< endl;
fclose(fin);

return 0 ;
}

 

你可能感兴趣的:(数据结构)