}
//冒泡排序
#include
usingnamespacestd;
#definelen10
voidmain()//排序元素array[0]~array[len-1]
{
inti,j,temp,array[len]={0,2,3,70,5,8,4,1,9,6};
for(i=0;icout<cout<for(i=1;i{
for(j=len-1;j>=i;j--)//对数组元素自后向前扫描,j--
{
if(array[j]{
temp=array[j];
array[j]=array[j-1];
array[j-1]=temp;
}
}
}
for(i=0;icout<cout<}
方法二:
往后冒泡,最大的往后沉;
#include
#definelen10
voidswap(intarr[],intx,inty)
{
inttemp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
voidbubble(intarr[])
{
for(inti=0;ifor(intj=0;j{
if(arr[j]>arr[j+1])
swap(arr,j,j+1);
}
}
}
voidmain()
{
intarr[10]={12,3,45,67,8,0,3,23,1,2};
inttotal=0;
bubble(arr);
for(intn=0;n{
cout<total++;
if(total%5==0)
cout<}
}
直接选择排序函数
voidselectSort(intarr[])
{
for(inti=0;ifor(intj=i+1;j{
if(arr[j]swap(arr,j,i);
}
}
快速排序:
voidquick_sort_sub(intarr[],intleft,intright)
{
intleft_index=left;
intright_index=right;
intmid_number=arr[(left+right)/2];
while(left_index<=right_index)
{
while(arr[left_index]left_index++;
while(arr[right_index]>mid_number)
right_index--;
if(left_index<=right_index)
{
swap(arr,left_index,right_index);
left_index++;
right_index--;
}
}
if(right_index>left)
{
quick_sort_sub(arr,left,right_index);
}
if(left_index{
quick_sort_sub(arr,left_index,right);
}
}
voidquick_sort(intarr[])
{
quick_sort_sub(arr,0,len-1);
}
//直接选择排序
#include
usingnamespacestd;
#definelen10
voidmain()//排序元素array[0]~array[len-1]
{
inti,j,temp,array[len]={0,20,3,70,5,8,4,1,9,6};
for(i=0;icout<cout<for(i=0;i{
for(j=i+1;jif(array[j]{
temp=array[j];
array[j]=array[i];
array[i]=temp;
}
}
for(i=0;icout<cout<}
//快速排序
#include
#defineswap(a,b){inttemp;temp=a;a=b;b=temp;}//注意a,b不用标注类型
usingnamespacestd;
voidquick_sort_sub(int*data,intleft,intright)
{
intleft_index=left;
intright_index=right;
intpivot=data[(left+right)/2];
while(left_index<=right_index)//注意
{
while(data[left_index]left_index++;
while(data[right_index]>pivot)
right_index--;
if(left_index<=right_index)
{
swap(data[left_index],data[right_index]);
left_index++;
right_index--;
}
}
if(right_index>left)
{
quick_sort_sub(data,left,right_index);
}
if(left_index{
quick_sort_sub(data,left_index,right);
}
}
voidquick_sort(int*data,intdata_size)
{
quick_sort_sub(data,0,data_size-1);
}
voidmain()
{
intdata_size;
cout<<"inputthedata_size:
";
cin>>data_size;
intdata[100];
cout<<"inputthedata[]:
"<for(inti=0;icin>>data[i];
quick_sort(data,data_size);
for(inti=0;i{
cout<if((i+1)%5==0)
cout<}
}
//逆序输出数组
#include
voidswap(int&a,int&b)
{
intp=a;
a=b;
b=p;
}
voidmain()
{
intarr[]={2,12,4,56,7,9,10};
intm=sizeof(arr)/4;//0-m
inti=0;
inttemp=m;
while(i<=m/2)
{
swap(arr[i],arr[temp-1]);
i++;
temp--;
}
for(intj=0;j{
cout<}
cout<}
字符串,strcpy函数相关实现
#include
char*strcpy(char*a,char*b)//主要函数的实现过程
{
while((*(a++)=*(b++))!
=0);
returna;
}
voidmain()
{
charstr[]="hello";写出*str=”hello”形式会出错,不知道为什么?
charstr1[]="hihi";
strcpy(str,str1);
cout<cout<}