int buddle(int a[], int n){
//冒泡排序
for(int i = 1; i < n; i++){
for(int j = 0; j < n-1; j++){
if(a[j]>a[j+1]) {
int t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
//前面一有些n
int s1 = 0;
for(int i = 0; i < n/2; i++){
s1 += a[i];
}
//后边一有些
int s2 = 0;
for(int i = n/2; i < n; i++){
s2 += a[i];
}
return s2-s1;
}
typedef struct node{
char data[10];
struct node *left, *right;
}btree;
void btreetoe(btree * root){
btreetoexp(root,1);//根的高度为1
void btreetoexp(btree * root, int deep) {
if( root = = null) return;
else if(root->left = = null && root->right = = null)
//若为叶结点
printf(“%s”,root->data);//输出操作数
else{
if(deep>1) printf(“(”);//若有子表达式则加1层括号
btreetoexp(root->left,deep+1);
printf(“%s”,root->data);//输出操作符
btreetoexp(root->right,deep+1);
if(deep>1) printf(“)”);//若有子表达式则加1层括号
}
}
int majority(int a[ ],int n){
//找出最大的数
int m = a[0];
for(int i = 1; i < n; i++){
if(a[i] > m) m = a[i];
}
//最大的元素小于0,那最大正数m就为1
if(m < 0) return 1
int b = malloc(sizeof(int) * (m+1)) // 请求n个
桶
for(int i = 0; i < n; i++){ //置0
b[i] = 0;
}
for(int i = 0; i < n; i++){
b[a[i]]++; //将值为a[i]放入桶中,桶里边个数加1
}
for(int i = 1; i <= m; i++){
if(b[i] == 0) return i; //找到第一个没稀有据的桶
}
//若桶1到m都稀有据,那就回来m+1.
//数组a为12345 , 回来6
return m+1;
}
typedef struct node
{
int data;
struct node * next:
}node;
void change_list(linklist h){ lnode *p,*q,*r,*s; p=q=h; /*双指针找链表的中点*/ while(q->next!=null){ p=p->next; //p走一步 q=q->next; if(q->next!=null)q=q->next; //q走两步 } /*链表的逆置*/ q=p->next; //p所指结点为中点 p->next=null; //q为后半链表的首结点 while(q!=null){ r=q->next; q->next=p->next; p->next=q; q=r; } /*后半有些的链表头插进入前半有些*/ s=h->next; q=p->next; p->next=null; while(q!=null){ r=q->next q->next=s->next;//将q所指结点刺进到s所指结点之后 s->next=q; s=q->next; //将s指向前半段的下一个刺进点 q=r; }}
void arr(int s1[ ],int s2[], int s3[]){
int length1 = sizeof(s1)/sizeof(s1[0]); // s1数组巨细
int length2 = sizeof(s2)/sizeof(s2[0]); // s2数组巨细
int length3 = sizeof(s3)/sizeof(s3[0]); // s3数组巨细
int a, b, c;
a = b = c;//存储三元组
int d = 100000; //给出一个超大的值
for (int i = 0 ; i < length1; i++){
for (int j = 0; j < length2; j++){
for (int k = 0; k < length3; k++){
int dis = abs(s1[i] - s2[j]) + abs(s2[j]- s3[k]) + abs(s3[k] - s1[i]);
if(dis < d){
d = dis; //更新最小间隔以及三元组
a = s1[i];
b = s2[j];
c = s3[k];
}
}
}
}
print("%d", d);
print("%d%d%d", a, b, c);
}