冒泡演算法對動態陣列排序
阿新 • • 發佈:2019-02-11
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
void swap(int&,int&);
void sort(int* ,int n);
int main()
{
int *array1 = 0, num, i;
printf("please input the number of element: ");
scanf("%d", &num);
// 申請動態陣列使用的記憶體塊
array1 = (int *)malloc(sizeof(int)*num);
if (array1 == 0) // 記憶體申請失敗,提示退出
{
printf("out of memory,press any key to quit...\n");
exit(0); // 終止程式執行,返回作業系統
}
// 提示輸入num個數據
printf("please input %d elements: ", num);
for (i = 0; i < num; i++)
scanf("%d", &array1[i]);
// 輸出剛輸入的num個數據
printf("%d elements are: \n", num);
for (i = 0; i < num; i++)
printf("%d,", array1[i]);
printf("\n");
sort(array1,num);
printf("the sorted number is :\n");
for (i = 0; i < num; i++)
printf("%3d", array1[i]);
getchar();
getchar();
return 0;
}
void swap(int &a, int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
void sort(int*a ,int n)
{
int i,j;
//int a[10]={10,7,12,9,45,5,43,8,9,3};
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j+1]<a[j])
swap(a[j+1],a[j]);
}
}
}
#include<malloc.h>
#include<stdlib.h>
void swap(int&,int&);
void sort(int* ,int n);
int main()
{
int *array1 = 0, num, i;
printf("please input the number of element: ");
scanf("%d", &num);
// 申請動態陣列使用的記憶體塊
array1 = (int *)malloc(sizeof(int)*num);
if (array1 == 0) // 記憶體申請失敗,提示退出
{
printf("out of memory,press any key to quit...\n");
exit(0); // 終止程式執行,返回作業系統
}
// 提示輸入num個數據
printf("please input %d elements: ", num);
for (i = 0; i < num; i++)
scanf("%d", &array1[i]);
// 輸出剛輸入的num個數據
printf("%d elements are: \n", num);
for (i = 0; i < num; i++)
printf("%d,", array1[i]);
printf("\n");
sort(array1,num);
printf("the sorted number is :\n");
for (i = 0; i < num; i++)
printf("%3d", array1[i]);
getchar();
getchar();
return 0;
}
void swap(int &a, int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
void sort(int*a ,int n)
{
int i,j;
//int a[10]={10,7,12,9,45,5,43,8,9,3};
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j+1]<a[j])
swap(a[j+1],a[j]);
}
}
}