代码1算是排序法吗?不太自信。

代码1:
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}

    }

代码1能运行出来,但和教材(C程序设计第五版)不太一样,和冒泡法又极其类似,大一刚学C语言,没有自信,
请教!

代码2(教材144页所给的冒泡法):

for(j=0;j<9;j++) // 进行9次循环,实现9趟比较
for(i=0;i<9-j;i++) // 在每一趟中进行9-j次比较
if (a[i]>a[i+1]) // 相邻两个数比较
{t=a[i];a[i]=a[i+1];a[i+1]=t;}

代码3(教材194页所给的排序法):
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
t=array[k];array[k]=array[i];array[i]=t;

代码4(教材243页所给的排序法):
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k!=i) //这一句代码3里没有
{t=x[i];x[i]=x[k];x[k]=t;}

是冒泡排序和插入排序,2中排序方法。

是排序,冒泡排序有很多种实现方式。这个是拿第一个元素a1和之后所有元素作比较,如果比a1大就交换,这样最后第一个元素就是最大值。然后拿第二个元素和之后所有元素比较,以此类推

是冒泡排序,代码1是将最小的冒到最左边,所以起始位置要不断增大。
而代码2是将最大的冒到最右边,所以终止位置要不但减小,都是升序排序。