#include<stdio.h> int main() { /*冒泡排序:从大到小*/ /*i=0 第1轮(i+1):需要比较9次(sizeArr-i-1)*/ /*i=1 第2轮(i+1):需要比较8次(sizeArr-i-1)*/ /*i=2 第3轮(i+1):需要比较7次(sizeArr-i-1)*/ /*共比较9轮(sizeArr-1)*/ int arr[10]={20,10,7,15,58,2,45,122,4,52}; int sizeArr=sizeof(arr)/sizeo…
前言 一般情况,我们在Java中给数组排序,比起自己写个冒泡排序,更加喜欢使用Java中自带的sort方法,也就是Arrays.sort方法 但是,这个方法只会将数组从小到大排列,如果我们需要从大到小排列的数组,怎么办呢? 思路 我的想法是,把经过Arrays.sort方法之后从小到大排列的数组,后面位置的元素与之前的元素进行交换,这样,不就是实现了从大到小的排列了吗? 需要注意的是:我们得分两种情况,一种是数组中的元素个数是偶数,另外一种则是数组的元素个数为奇数 下面则是我实现的方法,经过测试…
List.sort() 默认的情况下是从小到大的排列. 例如: List<int> list = new List<int>();             list.Add(-2);             list.Add(10);             list.Add(8);             list.Add(6);             list.Add(4); list.Sort(); 这时候的输出结果是 -2,4,6,8,10; 如果,要将list中的数据从…
#coding=gbk ''' 1.将单词表中由相同字母组成的单词归成一类,每类单词按照单词的首字母排序,并按 #每类中第一个单词字典序由大到小排列输出各个类别. #输入格式:按字典序由小到大输入若干个单词,每个单词占一行,以end结束输入. #cinema #iceman #maps #spam #aboard #abroad #end #输出格式:一类单词一行,类别间单词以空格隔开. #aboard abroad #cinema iceman #maps spam ''' result=[]…
#include<stdio.h> int main() { /*简单选择排序:从大到小:一共比较sizeArr-1轮,每一轮的第一个数是arr[i],第一个数依次和它后面的每个数比较*/ int arr[10]={20,10,7,15,58,2,45,122,4,52}; int sizeArr=sizeof(arr)/sizeof(arr[0]);//10 printf("交换前:\n"); for(int i=0;i<sizeArr;i++) { printf(…
有时候同一块内存空间存放类型不同,不同类型的变量共享一块空间. 结构体和共用体的区别: (1)结构体元素有各自单独空间,共用体元素共享空间,空间大小由最大类型确定. (2)结构体元素互不影响共用体赋值会导致覆盖. #include<stdio.h> #include<string.h> struct TestT { int data1;//4 char data2[125];//125 double data3;//8 }; union TestU { int data1;//4…
指针是存放变量的地址,那为什么要区分类型?不能所有类型的变量都用一个类型吗?下面用一个例子来说明这个问题. #include<stdio.h> int main() { int a=0x1234; int *p=&a; char *c=&a; printf("p指向的变量a的地址=%p\n",p);//打印指针p指向的变量的16进制的地址 printf("c指向的变量a的地址=%p\n",c);//打印指针c指向的变量的16进制的地址 p…
#include<stdio.h> #include<string.h> struct Student { char name[32]; int age; int height; int weight; }; int main() { struct Student Stus[3]={ {"hhh",12,45,45}, {"ttt",16,24,45}, {"kkk",18,23,45}, }; printf("…
数组只能存放一种类型的数据,而结构体内可以存放不同类型的数据. #include<stdio.h> #include <string.h> struct Student { char name[32]; int age; int height; int weight; }; int main() { //结构体赋值 struct Student stu1; strcpy(stu1.name,"nsal"); stu1.age=45; stu1.height=15…
#include<stdio.h> #include <string.h> int mystrcmp(char * p1,char * p2) { int ret=0; if(p1!=NULL||p2!=NULL) { while(*p1==*p2) { p1++; p2++; } if(*p1!=*p2) { ret=*p1-*p2; } } return ret; } int main() { char * p1="helloworld"; char * p…