摘要:
所谓位运算是指进行二进制位的运算。C语言提供了如下的位运算符:运算符含 义举 例&按位与a&b,a和b中各位按位进行“与”运算|按位或a|b,a和b中各位按位进行“或”运算^按位异或a^b,a和b中各位按位进行“异或”运算~取反~a,a中各位按位进行“取反”运算<<左移a<<n,a中各位全部左移n位>>右移a>>n,a中各位全部右移n位1.1.1 按位与运算符基本格式:a&b基本规则:0&0 = 0 0&1 = 0 1&0 = 0 1&1 = 1 (即,只有1&1为1,其他为0)作用 阅读全文
摘要:
#include <stdio.h>void traverse(int *arr, int len){ int i; for(i=0; i<len; i++){ printf("%d、", arr[i]); } printf("\n");}void sheelSort(int *arr, int len){ int i, j, t, n, temp; for(n=5; n>=1; n=n-2){ for(i=0; i<n; i++){ for(j=i+n; j<len; j=j+n){ temp = arr[j]; f 阅读全文
摘要:
#include <stdio.h>#include <stdlib.h>void traverse(int *arr, int len){ int i; for(i=0; i<len; i++){ printf("%d、", arr[i]); } printf("\n");}void SelectSort(int *arr, int len){ int i,j,index,temp; for(i=0; i<len; i++){ temp = arr[i]; for(j=i+1; j<=len; j++){ // 阅读全文
摘要:
#include <stdio.h>void traverse(int *arr, int len){ int i; for(i=0; i<len; i++){ printf("%d、", arr[i]); } printf("\n");}void InsertSortOne(int * arr, int len){ int i, j, temp; for(i=1; i<len; i++){ temp = arr[i]; for(j=i-1; j>=0; j--){ if(temp>arr[j]){ break; } 阅读全文
摘要:
#include <stdio.h>void traverse(int *arr, int len){ int i; for(i=0; i<len; i++){ printf("%d、", arr[i]); } printf("\n");}void InsertSortOne(int * arr, int len){ int i, j, temp; for(i=1; i<len; i++){ temp = arr[i]; for(j=i-1; j>=0; j--){ if(temp>arr[j]){ break; } 阅读全文
摘要:
#include <stdio.h>/*遍历*/void tranvase(int * arr, int len){ int i; for(i=1; i<=len; i++){ printf("%d、", arr[i]); } printf("\n");}/*调整堆*/void tiaozhengdui(int * arr, int root, int end){ //root 为根坐标 end为最后元素坐标 int j; j = 2*root; //root的左子树 int temp = arr[root]; //临时保存根节点值 / 阅读全文