冒泡排序c語言
❶ c語言的冒泡排序
#include<stdio.h>
void main()
{
int i,j,t;
int a[7]={1,5,7,2,5,4,10};
for(j=0;j<6;j++)
{
for(i=0;i<6-j;i++)
{
if(a[i]>a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;}
}
}
for(i=0;i<7;i++)
printf("%d ",a[i]);
}
❷ c語言冒泡排序法詳解
任意兩個數作比較,大的放後面,小的放前面,然後大的在和下一個數比較,還是大的放後小的往前,以此類推,直到所有數比完了,然後輸出
❸ c語言數組排序冒泡排序
void bubblesorting(int *nums, int size)
{
int i, j;
int temp;
for(i = 0; i < size-1; i++)
for(j = 0; j < size-1-i; j++)
{
if(nums[j] > nums[j+1])//從小到大
{
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
❹ C語言 冒泡排序法的代碼
#include<stdio.h>
void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers: ");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++) /*進行9次循環 實現9趟比較*/
for(i=0;i<9-j;i++) /*在每一趟中進行9-j次比較*/
if(a[i]>a[i+1]) /*相鄰兩個數比較,想降序只要改成a[i]<a[i+1]*/
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("the sorted numbers: ");
for(i=0;i<10;i++)
printf(" %d",a[i]);
}
(4)冒泡排序c語言擴展閱讀:
冒泡排序演算法的運作
1、比較相鄰的元素。如果第一個比第二個大(小),就交換他們兩個。
2、對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大(小)的數。
3、針對所有的元素重復以上的步驟,除了最後已經選出的元素(有序)。
4、持續每次對越來越少的元素(無序元素)重復上面的步驟,直到沒有任何一對數字需要比較,則序列最終有序。
簡單的表示
#include <stdio.h>
void swap(int *i, int *j)
{
int temp = *i;
*i = *j;
*j = temp;
}
int main()
{
int a[10] = {2,1,4,5,6,9,7,8,7,7};
int i,j;
for (i = 0; i < 10; i++)
{
for (j = 9; j > i; j--)//從後往前冒泡
{
if (a[j] < a[j-1])
{
swap(&a[j], &a[j-1]);
}
}
}
for (i = 0; i < 10; i++)
{
printf("%d ", a[i]);
}
return 0;
}
參考資料來源:冒泡排序-網路
❺ 冒泡排序c語言
for循環裡面有錯,
for(int i=0;i<35-1;i++){
for(int j=0;j<35-i-1;j++){
if(a[j]>a[j+1]){
temp=a[j];a[j]=a[j+1];a[j+1]=temp;
}
❻ C語言冒泡排序
在後面加上getchar()好了。
❼ c語言冒泡排序
不知道樓主想干什麼。這樣的程序,真是亮瞎我的狗眼了。。。。
❽ C語言冒泡排序
#include<stdio.h>
#define N 20
main()
{
int a[N],i,j,temp,n;
printf("input 20 numbers:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
for(j=0;j<N-1-i;j++)
if(a[j]<a[j+1])
{temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;}
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
printf("input n:");
scanf("%d",&n);
for(i=0;i<N;i++)
if(a[i]==n)
{printf("YES %d\n",i);
break;}
if(i==20)printf("NO found\n");
}
❾ C語言冒泡排序。
#include<stdio.h>
void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers: ");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++) /*進行9次循環 實現9趟比較*/
for(i=0;i<9-j;i++) /*在每一趟中進行9-j次比較*/
if(a[i]>a[i+1]) /*相鄰兩個數比較,想降序只要改成a[i]<a[i+1]*/
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("the sorted numbers: ");
for(i=0;i<10;i++)
printf(" %d",a[i]);
}
(9)冒泡排序c語言擴展閱讀:
冒泡排序演算法的運作
1、比較相鄰的元素。如果第一個比第二個大(小),就交換他們兩個。
2、對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大(小)的數。
3、針對所有的元素重復以上的步驟,除了最後已經選出的元素(有序)。
4、持續每次對越來越少的元素(無序元素)重復上面的步驟,直到沒有任何一對數字需要比較,則序列最終有序。
簡單的表示
#include <stdio.h>
void swap(int *i, int *j)
{
int temp = *i;
*i = *j;
*j = temp;
}
int main()
{
int a[10] = {2,1,4,5,6,9,7,8,7,7};
int i,j;
for (i = 0; i < 10; i++)
{
for (j = 9; j > i; j--)//從後往前冒泡
{
if (a[j] < a[j-1])
{
swap(&a[j], &a[j-1]);
}
}
}
for (i = 0; i < 10; i++)
{
printf("%d ", a[i]);
}
return 0;
}