技术需要坚持吗?

年龄大的程序员需要转行做别的吗?因人而异吧。有人疲惫了,有人干的津津有味。我就是还没干够的那种,并不是说技术干不够,而是目标还没有实现。还差很多,每天感觉要学的东西太多。学不尽,当然别的方面也要发展,但是那只是辅助,要有一个方面有特长,不是简单的特长,而是要达到专家的级别。

在我看来,技术到达一定程度就要拜师学习。比如向同行业的专家教授学习。这样技术才会有传承。

顺序表非零元素向前排,零元素后置

void sort(int *num, int length){
int j = 0;
int count = 0;
for(int i = 0; i < length; i++){
if(num[i] != 0){
num[j++] = num[i];
}else{
count++;
}
}
for(int k = length - count; k < length; k++){
num[k] = 0;
}
}
int main() {
int a[] = {1,2,3,0,4,0,5,10,9};
sort(a,9);
return 0;
}

静态链表

烧脑。。。

c源码:

//
// Created by cs on 2021/1/17.
//
#include <stdio.h>
#include "malloc.h"
#include "SLinkList.h"

void initSL(SLinkList space){
for(int i=0;i<MAXSIZE-1;i++){
space[i].data = -1;
space[i].cur = i + 1;
}
space[MAXSIZE-1].cur = 0;
}
int mallocSl(SLinkList space){
int i = space[0].cur;
if(space[0].cur){
space[0].cur = space[i].cur;
}
return i;
}
void freeSl(SLinkList space, int k){
space[k].cur = space[0].cur;
space[0].cur = k;
}
void difference(SLinkList space){
initSL(space);
int s = mallocSl(space);
int r = s;
int m = 3, n = 1;
//scanf("%d,%d",&m,&n);
for(int j = 1; j <= m; ++j){
int i = mallocSl(space);
scanf("%d",&space[i].data);
// space[i].data = 99+j;
space[r].cur = i;
r = i;
}
space[r].cur = 0;
for(int j = 1; j<= n; ++j){
int b;
scanf("%d",&b);
int p = s;
int k = space[s].cur;
while(k != space[r].cur && space[k].data != b){
p = k;
k = space[k].cur;
}
if(k == space[r].cur){
int i = mallocSl(space);
space[i].data = b;
space[i].cur = space[r].cur;
space[r].cur = i;
}else{
space[p].cur = space[k].cur;
freeSl(space,k);
if(r == k){
r = p;
}
}
}
}
int main(){
SLinkList sLinkList;
difference(sLinkList);
printf("hello \n");
}

头文件:

//
// Created by cs on 2021/1/17.
//
#define MAXSIZE 20
#define ElemType int
typedef struct {
ElemType data;
int cur;
}component, SLinkList[MAXSIZE];

需要的同仁可以参考一下。逻辑自己品吧。

nginx upstream

upstream配置多个应用,server里的location代理这个upstream,就可以代理这几个应用了。

顺序表的初始化

#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#include <math.h>
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
#define STATUS int
#define ElemType int
#define OK 1;
typedef struct{
ElemType * elem;
int length;
int listsize;
}SqlList;
STATUS initList_Sq(SqlList *l)
{
l->elem=(ElemType )malloc(LIST_INIT_SIZE * sizeof(ElemType));
if(!l->elem) exit(OVERFLOW);
l->length=0;
l->listsize=LIST_INIT_SIZE;
return OK;
}
void mergeList(SqlList la,SqlList lb,SqlList *lc){

}
int main() {
SqlList la ;
initList_Sq(&la);
ElemType *pa = la.elem;
*pa = 1;
pa++;
*pa = 2;
return 0;
}