大二非计算机,目标PAT乙级,从本日开始更新胡凡曾磊《算法笔记》的学习记录(挖大坑),主要算是巩固每日所学知识并督促自己,您要是有兴趣看的话非常感谢,欢迎各位大佬批评指正(mua❤️❤️❤️):
-----------------------------------------------------------------------------------------------
(不全,慢慢更(xue))
(一).算法排序
1.1.冒泡排序
1.2.选择排序:
1.2.1.核心思路:定义一组序列并由1到n进行枚举,由首个元素开始逐次向后比较直至末尾,将首
元和序列中最小元进行值交换;再由第二个元素开始重复循环直至最后元素。
1.2.2.代码分析:#
#includeint main() { int a[10010],n; printf("请输入欲输入的数字个数:n"); scanf("%d",&n); printf("请输入:n"); for(int i=0;i<=n-1;i++) { scanf("%d,",&a[i]); } void sortselect(int a[],int n); sortselect(a,n); printf("排列后数字为:"); for(int i=0;i<=n-1;i++) { printf("%d",a[i]); } printf("n"); return 0; }//在此之上为数组的定义,函数的调用和结果的输出,之后将多次出现(复 制 人) void sortselect(int a[],int n)//定义函数:选择排序 { for(int i=0;i<=n-1;i++)//外层大循环 {//开始内层小循环❤️❤️❤️ int k; for(int j=i;j<=n-1;j++) { if(a[j]
1.2.3.代码实现:(文件名那时候打错了别管了)
-----------------------------------------------------------------------------------------------
1.3.插入排序:
1.3.1.核心思路:定义一组序列并由1到n进行枚举,由第二个元素开始逐次向前比较,按照大小顺
序插入前方序列 ,单次循环结束后逐次向后推移,重复循环直至末尾元素
1.3.2.代码分析:
#includeint main() { int a[10010],n; printf("请输入欲输入的数字个数:n"); scanf("%d",&n); printf("请输入:n"); for(int i=0;i<=n-1;i++) { scanf("%d,",&a[i]); } void sortinsert(int a[],int n); sortinsert(a,n); printf("排列后数字为:"); for(int i=0;i<=n-1;i++) { printf("%d",a[i]); } printf("n"); return 0; } void sortinsert(int a[],int n) { for(int i=0;i<=n-1;i++) { int j=i,temp=a[i]; while(j>=1&&a[j]
(先写到这了蚌埠住了困了家人们,明天就一节课努力更,再见了啊再见了)



