2.6作业

2.6作业_第1张图片

程序代码:

#include 
#include 
#include 

//冒泡排序
void bubble(int a[],int n)
{
	for(int i=1;ia[j+1])
			{
				int t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
			}
		}
	}
}



//简单选择排序
void simple(int b[],int n)
{
	for(int i=0;ib[j])
			{
				min=j;
			}
		}
		if(min!=i)
		{
			int t=b[min];
			b[min]=b[i];
			b[i]=t;
		}
	}
}




//直接插入排序
void insert_sort(int c[],int n)
{
	int j;
	for(int i=1;i=0&&c[j]>temp;j--)
		{
			c[j+1]=c[j];
		}
		c[j+1]=temp;
	}
}




//一次排序
int one_sort(int d[],int low,int high)
{
	int key=d[low];//确定基准值
	while(low=d[low])
			low++;
		d[high]=d[low];
	}
	d[low]=key;
	return low;                              
}





//快速排序
void quick(int d[],int low,int high)
{
	if(low>=high)
		return;
	int mid=one_sort(d,low,high);
	quick(d,low,mid-1);
	quick(d,high,mid+1);
}




//输出
void output(int a[],int n)
{
	for(int i=0;i

运行结果:

程序代码:

#include 
#include 
#include 

int DigitSum(int n)
{
	if(n==0)
		return 0;
	else
		return n%10+DigitSum(n/10);
}


int main(int argc, const char *argv[])
{
	int num;
	printf("please input num:");
	scanf("%d",&num);
	int sum=DigitSum(num);
	printf("sum=%d\n",sum);
	return 0;
}

运行结果:

程序代码:

#include 
#include 
#include 

#define Exchange(num) (((num & 0x55555555) << 1 )|((num & 0xaaaaaaaa) >> 1 ))
 
int main(int argc, const char *argv[])
{
	int num;
	printf("please input num:");
	scanf("%d",&num);
    num=Exchange(num);
    printf("%d\n",num);
	return 0;
}

运行结果:

你可能感兴趣的:(排序算法,算法,数据结构)