求教c语言二维数组的冒泡排序法?

2024年11月18日 02:50
有5个网友回答
网友(1):

1、打开Visual Studio工具并创建一个新的Win32程序。

2、在打开的C语言文件中,导入stdio.h空间,然后准备一个main函数。

3、接下来,准备一个需要进行冒泡排序的整数数组。如下图所示,数组中数字的顺序是不正常的。

4、接下来,准备变量,准备好的变量用于对交互数据进行排序。

5、然后我们准备两个for循环数组,我们需要注意外循环和内循环。

网友(2):

#include"stdio.h"
void main()
{
int a[4][5]={7,5,3,4,34,67,76,9,4,8,4,54,33,46,7,4,1,44,109,10};
int i,j,k,s;
for(i=0;i<4;i++)
for(j=0;j<5;j++)
{
for(s=j;s<5;s++)
{
if(a[i][j]>a[i][s+1])
{
k=a[i][s+1];
a[i][s+1]=a[i][j];
a[i][j]=k;
}
}
}
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
printf("%5d",a[i][j]);
printf("\n");
}
printf("\n");
}
这是把没一行都用冒泡法排列,我在写一个把整个二维数组集体排序的

网友(3):

#include
int main()
{int a[4][5]={7,5,3,4,34,67,76,9,4,8,4,54,33,46,7,4,1,44,109,10};
int i,j;
int b[4*5];
int k=0;
for(i=0;i<=3;i++)
{for(j=0;j<=4;j++)
{printf("%d,",a[i][j]);
b[k]=a[i][j];
k++;
}
}
for(i=0;i<4*5-1;i++)
{for(j=i+1;j<4*5;j++)
{if(b[i] {int t;
t=b[i];b[i]=b[j];b[j]=t;
}
}
}
printf("\n");;
for(k=0;k<4*5;k++)
{printf("%d ",b[k]);
}
getch();
return 0;
}
要不自己达到TC2.0,或者复制到WIN-TC,建议你编程使用WIN-TC,与TC2.0相比,容易些(能粘贴复制,还能中文),且编程的其他东西没有任何变化

网友(4):

void BubbleSort(int low,int high)
{
int i,j,ii;
int exchange;
int Temp ;

for(i = low;i <= high;i++)
{
exchange = 0;
for(j = high-1;j>=i;j--)
{
if(map[j+1][1] < map[j][1])
{
Temp = map[j+1][1];
map[j+1][1] = map[j][1];
map[j][1] = Temp;

Temp = map[j+1][0];
map[j+1][0] = map[j][0];
map[j][0] = Temp;
exchange = 1;
}
}
if(!exchange)
return;
}
}
low,high对应二维数组[low][high]

网友(5):

#include
int main()
{int a[4][5]={7,5,3,4,34,67,76,9,4,8,4,54,33,46,7,4,1,44,109,10};
int i,j;
int b[4*5];
int k=0;
for(i=0;i<=3;i++)
{for(j=0;j<=4;j++)
{printf("%d,",a[i][j]);
b[k]=a[i][j];
k++;
}
}
for(i=0;i<4*5-1;i++)
{for(j=i+1;j<4*5;j++)
{if(b[i] {int t;
t=b[i];b[i]=b[j];b[j]=t;
}
}
}
printf("\n");;
for(k=0;k<4*5;k++)
{printf("%d ",b[k]);
}
getch();
return 0;
}