- 博客(3)
- 收藏
- 关注
原创 直接插入排序
思想:每次将一个待排序的数据按照大小插入到前面已经排好序的适当位置,直到全部数据插入完成为止。图解:完成的是有哨兵的情况代码://直接插入排序(不带哨兵)void insertsort(int A[], int n) {//排序49,38,65,97,76,13,27,49 int i, j, temp; for (i = 1; i < n; i++) //从第二个元素开始与第一个元素比较,一直比到第n个元素(下标为n-1) if (A[i] < A[...
2022-05-15 23:52:06 235
原创 顺序表中的逆置操作
顺序表逆置方法:可以先建立一个新的顺序表b,把顺序表a中的元素逆序输出,但是这种空间复杂度为O(n),浪费空间资源,所以我们从两头分别交换元素,即下标i=0,j=length-1相互交换,然后i++,j--,这样空间的复杂度为O(1)。这里我采用了两个例子,第一个是经典顺序表逆置算法,讲解比较详细,第二种是进行三次逆置,举一反三,也容易理解。例1:设计一个高效的算法,将顺序表L中所有元素逆置,空间复杂度为O(1)。思想:因为要求空间的复杂度为1,所以扫描顺序表的前半部分元素,将其与后半部分元素对
2021-12-08 23:12:39 11238 2
原创 c语言解决循环左移和循环右移
循环左移:例:1 2 3 4 5循环左移一位后变成2 3 4 5 1,循环左移两位后变成3 4 5 2 1。下面用for循环实现:int i,k,j,temp,a[n]={1,2,3,4,5}; //数组长度为n,所以最后一位的下标为n-1for(i=0;i<k;i++)//k为循环次数,这是一个外层循环,进行第一个左移循环后,i++,数组顺序变为2 3 4 5 1,进入内循环后数组的第一位是2,同样将其拿出来赋给一个变量,下面依次进行……{temp=a[0];...
2021-12-05 16:53:46 7531 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人