排序,输入数据不能超过4个
#include <stdio.h>
void two_bubble_sort(int *,int n);
void main()
{
int array[] = {0};
int i,n = 0;
printf(" **How many numbers do you want to input**\n");
scanf("%d",&n);
for(i = 0; i < n; i++)
{
printf("Input the NO.%d number: ",i + 1);
scanf("%d",&array[i]);
}
printf(" **The array before being sorted is** \narray = { ");
for(i = 0; i < n; i++){
printf("%d ",array[i]);
}
two_bubble_sort(array,n);
printf("}\n **The array after being sorted is** \narray = { ");
for(i = 0; i < n; i++){
printf("%d ",array[i]);
}
printf("}\n");
}
void two_bubble_sort(int *array, int n)
{
int boundmin = 0;
int boundmax = n - 1; // i + 1 <= n - 1
int min,max,i;
int temp = 0;
while(boundmin < boundmax){
max = 0;
min = 0;
for(i = boundmin; i < boundmax; i++){
if(array[i] > array[i+1]){
temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
max = i;
}
}
boundmax = max;
for(i = boundmax - 1; i > boundmin; i--){
if(array[i] < array[i+1]){
temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
min = i;
}
}
boundmin = min;
}
}
int array[255] = {};
#include <stdio.h>
void two_bubble_sort(int *,int n);
void main()
{
//int array[] = {0};
int i,n = 0;
printf(" **How many numbers do you want to input**\n");
scanf("%d",&n);
int *array = new int[n];//你的array的大小只有1。。会越界。。改为这样根据n动态new数组吧。。
for(i = 0; i < n; i++)
{
printf("Input the NO.%d number: ",i + 1);
scanf("%d",&array[i]);
}
printf(" **The array before being sorted is** \narray = { ");
for(i = 0; i < n; i++){
printf("%d ",array[i]);
}
two_bubble_sort(array,n);
printf("}\n **The array after being sorted is** \narray = { ");
for(i = 0; i < n; i++){
printf("%d ",array[i]);
}
printf("}\n");
delete [] array;
}
void two_bubble_sort(int *array, int n)
{
int boundmin = 0;
int boundmax = n - 1; // i + 1 <= n - 1
int min,max,i;
int temp = 0;
while(boundmin < boundmax){
max = 0;
min = 0;
for(i = boundmin; i < boundmax; i++){
if(array[i] > array[i+1]){
temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
max = i;
}
}
boundmax = max;
for(i = boundmax - 1; i > boundmin; i--){
if(array[i] < array[i+1]){
temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
min = i;
}
}
boundmin = min;
}
}